Python数字图像处理入门:使用Pillow与Matplotlib打开、显示及保存图像
本文介绍如何利用Python进行数字图像处理,替代Matlab的高成本与封闭性。通过安装Pillow库处理图像打开与保存,并结合Matplotlib库实现更灵活的图片显示与属性查看,涵盖从环境配置到具体代码实现的完整流程。
提及数字图像处理时,许多人首先联想到Matlab,然而该软件存在若干局限性。
1、代码不开放,授权费用高昂。
2、软件体积庞大,基础安装通常超过3G,高版本甚至可达5G以上。
3、主要面向学术研究,难以直接转化为商业软件产品。
鉴于上述原因,本文选用Python这一脚本语言来执行数字图像处理任务。
使用Python前需完成环境搭建,推荐2.7及以上版本,无论Windows还是Linux系统,安装过程均十分简便。
进行各类开发需安装相应依赖库,这与Matlab类似,区别在于Matlab称为工具箱(toolbox),而Python中称为库或包。通常通过pip工具进行安装。
处理数字图片需安装Pillow包。尽管Python内置了PIL(python images library),但该库已停止更新,故推荐使用由PIL衍生而来的Pillow。
pip install Pillow
一、图片的打开与显示
from PIL import Image
img=Image.open('d:/dog.png')
img.show()
尽管使用的是Pillow,因其源自PIL分支,导入时仍需从PIL模块引入。利用open()函数加载图片,并通过show()函数展示图像。
此种显示方式调用操作系统自带的图片浏览器,有时操作不便,因此可尝试另一种方法,即由程序直接绘制并显示图片。
from PIL import Image
import matplotlib.pyplot as plt
img=Image.open('d:/dog.png')
plt.figure("dog")
plt.imshow(img)
plt.show()
该方法虽稍显复杂,但推荐使用,它借助matplotlib库来绘制和显示图片。matplotlib是一个专业绘图库,功能类似Matlab中的plot,支持创建多个figure、设置标题,甚至利用subplot在单个figure中展示多张图片。可直接安装matplotlib。
pip install matplotlib

figure默认包含坐标轴,若无需求,可将其关闭。
plt.axis('off')
图片加载后,可通过特定属性查看图像信息,例如。
print img.size #图片的尺寸 print img.mode #图片的模式 print img.format #图片的格式
运行结果如下:
(558, 450) RGBA PNG
二、图片的保存
img.save('d:/dog.jpg')
仅需一行代码,操作十分简单。该代码不仅用于保存图片,还可实现格式转换,例如本例中将原有的png格式保存为jpg格式。
以上内容为本文全部介绍,希望能为您的学习提供助力,也欢迎大家继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









