PIL:
PIL.Image.open 不直接返回numpy对象,可以用numpy提供的函数进行转换,可以用load访问rgb
matplotlib:
matplot.image.imread
从名字中可以看出这个模块是具有matlab风格的,直接返回numpy.ndarray格式通道顺序是RGB,通道值默认范围0-255。
opencv:
cv2.imread
使用opencv读取图像,直接返回numpy.ndarray 对象,通道顺序为BGR ,注意是BGR,通道值默认范围0-255。
skimage:
skimage.io.imread: 直接返回numpy.ndarray 对象,通道顺序为RGB,通道值默认范围0-255。
注意:
可以使用matplotlib的pyplot模块的show也可以使用cv2的imshow方法,对于这些方法只要你传入的参数是numpy.ndarray(通道值范围0-255) 就可以正常显示,不存在区别,这也可以看出numpy在python中的重要地位;但是cv2.imshow方法由于它针对的是cv2的imread 所以它内部会做通道顺序的变化,传入为BGR转换为RGB,所以你如果传入RGB显示的就是BGR了。
转载:https://blog.youkuaiyun.com/renelian1572/article/details/78761278
本文对比了PIL、matplotlib、opencv及skimage等常用库读取图像的方式与特点,介绍了不同库读取图像后的数据类型及通道顺序,并讨论了如何在Python中有效展示图像。
5080

被折叠的 条评论
为什么被折叠?



