彩色图像失真问题
如果使用opencv读入图像,然后使用matplotlib显示的话,得到的图像将会出现色彩失真的情况。
import cv2
import matplotlib.pyplot as plt
image = cv2.imread("ImageFile")
plt.axis("off")
plt.imshow(image)
plt.show()
主要原因是OpenCV读取彩色图像的时候使用将色彩存储为了BGR的格式,然而matplotlib识别的是RGB格式。所以,在使用matplotlib显示OpenCV读取的图像时,应该首先对数组进行重新排序:
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
灰度图像
需要显示灰度图像的时候,将cmap
值设置为gray
即可。
plt.imshow(arr, cmap='gray')
plt.show()
网友评论