新手使用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]
显示正常。