matplotlib、PIL、cv2图像操作差异分析
来源:互联网 发布:剑三团队插件数据导入 编辑:程序博客网 时间:2024/05/22 17:12
用python进行图像处理中分别用到过matplotlib.pyplot、PIL、cv2三种库,这三种库图像读取和保存方法各异,并且图像读取时顺序也有差异,如plt.imread和PIL.Image.open读入的都是RGB顺序,而cv2.imread读入的是BGR顺序。使用时需要倍加注意。
现参考http://www.jianshu.com/p/3977d674da85。对这三种库图像读取保存进行梳理。与原参考资源有一定差异。当前使用为python3.5版本。
读取图像
1.matplotlib.pyplot
matplotlib读取进来的图片是unit8,0-255范围。
2.PIL.image.open
PIL是有自己的数据结构的,但是可以转换成numpy数组,转换后的数组为unit8,0-255
3.cv2.imread
opencv读进来的是numpy数组,类型是uint8,0-255。
4.plt.imread和PIL.Image.open读入的都是RGB顺序,而cv2.imread读入的是BGR顺序。使用时需要倍加注意。
显示图像
均用plt.imshow(img):因为opencv读取进来的是bgr顺序呢的,而imshow需要的是rgb顺序,因此需要先反过来plt.imshow(img[...,-1::-1])。
保存图像
1 PIL.image - 保存PIL格式的图片
img.save("1.jpg")
2.cv2.imwrite - 保存numpy格式的图片
cv2.imwrite("1.jpg")
阅读全文
0 0
- matplotlib、PIL、cv2图像操作差异分析
- 【基本图像操作】PIL
- python-PIL 图像基本操作
- 【基本图像操作】Matplotlib
- matplotlib--python绘制图表 | PIL--python图像处理
- matplotlib.pyplot与cv2、Image.open 读取图片显示的差异
- OpenCV、Skimage、PIL图像处理的细节差异
- Python-OpenCV 处理图像(一):基本操作 cv2
- PIL:Image 和 cv2简单比较
- cv2读取图像
- 图像二值化 cv2.threshold
- Pyqt5+matplotlib+opencv实现图像直方图操作
- 【从零学习Python】PIL安装与基本图像操作
- 用Python的PIL模块进行基本的图像操作
- Python、Numpy、Matplotlib、PIL安装
- Python数据可视化图像库MatPlotLib基本图像操作
- opencv: 图像缩放(cv2.resize)
- pillow pil 图像处理
- Facebook产品总监:设计师如何从四个方面提升产品思维?
- H5上传图片并使用canvas制作海报
- 欢迎使用CSDN-markdown编辑器
- vue2.0 axios跨域并渲染问题解决
- 我的平台型产品设计分析缺了什么
- matplotlib、PIL、cv2图像操作差异分析
- Rundeck部署和基本使用
- Java 循环队列的实现
- 记C++坑:4.虚函数表项的初始化时机
- 2017最新Pycharm激活码及官方下载地址
- C++ STL之 vector的capacity和size属性区别
- 访谈:腾讯高级交互设计师C7210的十年设计路(上)
- 项目用到的技术
- 设计模式之《工厂方法模式》