opencv,matplotlib图像处理常见问题

opencv,matplotlib图像处理常见问题

问题1:plt.imshow()显示不出图像

解决方法:加多一条语句plt.show()

plt.imshow(img)
plt.show()

问题2:用cv2.imread()读取图像后,再用plt.imshow()显示的图像,图颜色与原图不一致
解决方法:cv2.imread()读取图像后,图像的通道顺序从RGB被转化为了BGR,因此需要加多一条语句来将图像的通道顺序重新转化成RGB

img = cv2.imread("./picture.jpeg")
plt.imshow(img)
plt.show()

opencv,matplotlib图像处理常见问题_第1张图片

img = cv2.imread("./picture.jpeg")
img= cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()

opencv,matplotlib图像处理常见问题_第2张图片

问题3: plt.imshow()显示的灰度图发绿

解决方法:直接使用plt.imshow()显示图像的某一层通道,会导致图片发绿。因此需要多加入一个参数,将代码改成plt.imshow(lena,cmap=plt.get_cmap(‘gray’))才能正常显示灰度图像。

img = cv2.imread("./picture.jpeg", 1)
img= cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img[:, :, 0])
plt.show()

opencv,matplotlib图像处理常见问题_第3张图片

img = cv2.imread("./picture.jpeg", 1)
img= cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img[:, :, 0], cmap=plt.get_cmap('gray'))
plt.show()

opencv,matplotlib图像处理常见问题_第4张图片

问题4:TypeError: Image data of dtype object cannot be converted to float
解决方法: 文件地址,图片后缀可能写错了

你可能感兴趣的:(opencv,matplotlib,图像处理,python,计算机视觉)