OpenCV 图像显示问题:为什么 img 图像不显示?
OpenCV 图像显示问题:为什么 img 图像不显示?
在使用 OpenCV (cv2) 库加载和显示图像时,有时可能会遇到 img 图像不显示的问题。这篇文章将探讨可能的原因和解决方案,并提供使用 cv2.imshow() 函数的代码示例。
问题描述:
你可能已经编写了以下代码来加载和显示图像,但图像却没有显示出来:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('C:/Users/LENOVO/Desktop/c.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算彩色图像的直方图
hist1 = plt.hist(img.ravel(), 256)
hist2 = cv2.calcHist([img], [0], None, [256], [0, 255])
hist3 = cv2.calcHist([gray], [0], None, [256], [0, 255])
cumulative_hist = np.cumsum(hist3)
# 将累积直方图归一化到[0,1]范围内
hist3 = cumulative_hist / cumulative_hist[-1]
# 显示两个直方图
plt.subplot(2, 1, 1)
plt.imshow(img)
plt.subplot(2, 2, 2)
plt.hist(img.ravel(), 256)
plt.subplot(2, 2, 3)
plt.plot(hist2)
plt.subplot(2,2,4)
plt.plot(hist3)
plt.show()
可能的原因和解决方案:
-
错误的图像路径: 确保提供的图像路径是正确的,并且图像文件存在于该位置。检查文件名和扩展名是否正确。
-
不支持的图像格式: OpenCV 支持多种图像格式,但并非所有格式都支持。尝试使用常见的格式,如 JPEG (jpg), PNG, 或 BMP。如果使用的是其他格式,尝试将其转换为支持的格式。
-
未调用
cv2.imshow()函数: 使用cv2.imread()函数加载图像后,需要使用cv2.imshow()函数将其显示出来。
使用 cv2.imshow() 函数显示图像:
以下是使用 cv2.imshow() 函数显示图像的示例代码:
import cv2
# 加载图像
img = cv2.imread('image.jpg')
# 检查图像是否成功加载
if img is None:
print('无法加载图像')
else:
# 显示图像
cv2.imshow('Image', img)
cv2.waitKey(0) # 等待按键
cv2.destroyAllWindows() # 关闭窗口
代码解释:
cv2.imread('image.jpg'): 加载名为 'image.jpg' 的图像。 将 'image.jpg' 替换为你的图像文件名。cv2.imshow('Image', img): 显示图像。第一个参数是窗口标题,第二个参数是要显示的图像。cv2.waitKey(0): 等待按键。这将暂停程序执行,直到按下任何键。cv2.destroyAllWindows(): 关闭所有 OpenCV 窗口。
通过使用 cv2.imshow() 函数并确保图像路径和格式正确,你应该能够成功加载和显示图像。如果仍然遇到问题,请仔细检查代码并确保所有依赖项都已正确安装。
原文地址: https://www.cveoy.top/t/topic/jthJ 著作权归作者所有。请勿转载和采集!