python 解决cv2.imread读图片后颜色显示不正确的问题的2种解决方法 您所在的位置:网站首页 图片下载原图后变色 python 解决cv2.imread读图片后颜色显示不正确的问题的2种解决方法

python 解决cv2.imread读图片后颜色显示不正确的问题的2种解决方法

2024-07-11 14:19| 来源: 网络整理| 查看: 265

(笔记)

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 实验室设备网 版权所有