python 解决cv2.imread读图片后颜色显示不正确的问题的2种解决方法 | 您所在的位置:网站首页 › 图片下载原图后变色 › python 解决cv2.imread读图片后颜色显示不正确的问题的2种解决方法 |
(笔记) python版本:3.7 示例图片:Hibara.jpeg Hibara.jpeg问题 如果使用CV2.imread直接读取,plt.imshow直接显示的话,效果为图片颜色显示异常 图片颜色显示异常原因是CV2.imread读取完图片后,是以BGR的顺序存储图片颜色通道的[1] 但是plt.imshow此时是直接输出存储的后的文件,所以输出是图片的通道顺序就变成BGR了,而不是原图片的RGB形式。[2] 解决方法 如果希望使用CV2.imread读取图片,且使用plt.imshow来输出正常照片的话,可以在输出时把颜色通道的顺序从BGR调整为RGB就行了。 第一种方案:直接对颜色通道矩阵的存放顺序进行翻转。 第二种方案:先将3个颜色通道用CV2.split分开,分别存储为b,g,r,然后再用CV2.merge()将他们以r,g,b的形式合起来,然后再进行输出。 =END= =references= [1]https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html [2]https://matplotlib.org/3.5.0/api/_as_gen/matplotlib.pyplot.imshow.html |
CopyRight 2018-2019 实验室设备网 版权所有 |