- 问题描述
使用cv2.imread()
读取图片,使用plt.imshow()
显示图片,图片颜色不对。
2. 解决办法
OpenCV中的图像是以BGR的通道顺序存储的,但Matplotlib是以RGB模式显示的,所以直接在Matplotlib中显示OpenCV图像会出现问题,因此需要转换一下:
img = cv2.imread('lena.jpg')
img = img[:, :, ::-1]
或者img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
注解:img[:,:,0]表示图片的蓝色通。对一个字符串s进行翻转用的是s[::-1],同样img[:,:,::-1]就表示BGR通道翻转,变成RGB