CV2.imread得到的图像显示成蓝色的原因和3种BGR转RGB的方法

您所在的位置:网站首页 zenly为什么变成蓝色 CV2.imread得到的图像显示成蓝色的原因和3种BGR转RGB的方法

CV2.imread得到的图像显示成蓝色的原因和3种BGR转RGB的方法

2024-07-13 02:10| 来源: 网络整理| 查看: 265

新手使用CV2.imread后,直接显示,得到下面这种蓝色的图片,与原图差异很大:

CV2的imread默认存储的颜色空间顺序是BGR,与matplot显示用的imshow的颜色顺序RGB正好相反,那么怎么转换呢?

经常使用的有

方法1:

myimg=myimg[...,::-1]

这种方法初学者一般看不懂,::-1表示的是逆序,前面...我也不知道什么意思,官方给出的转换就是这样。

方法2:

使用库函数,简单易懂,但是不知道内部怎么搞的:

myimg = cv2.cvtColor(myimg,cv2.COLOR_BGR2RGB)

方法3:

也是我的原创方法,其实就是使用索引将[:,:,0]和[:,:,2]互换位置即可,该方法可以展示BGR到RGB的转换,即是将R通过和B通过互换位置即可。

index = [2,1,0] myimg = myimg[:,:,index]

显示正常。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3