一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点:
1、不开源,价格贵
2、软件容量大。一般3G以上,高版本甚至达5G以上。
3、只能做研究,不易转化成软件。
因此,我们这里使用python这个脚本语言来进行数字图像处理。
要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非常简单的。
要使用python进行各种开发,就必须安装对应的库。这和matlab非常相似,只是matlab里面叫工具箱(toolbox),而python里面叫库或包。安装这些库,一般都是使用pip来安装。
使用python进行数字图片处理,还得安装Pillow包。虽然python里面自带一个PIL(python images library), 但这个库现在已经停止更新了,所以使用Pillow, 它是由PIL发展而来的。
1
|
pip install Pillow |
一、图片的打开与显示
1
2
3
|
from PIL import Image img = Image. open ( 'd:/dog.png' ) img.show() |
虽然使用的是Pillow,但它是由PIL fork而来,因此还是要从PIL中进行import. 使用open()函数来打开图片,使用show()函数来显示图片。
这种图片显示方式是调用操作系统自带的图片浏览器来打开图片,有些时候这种方式不太方便,因此我们也可以使用另上一种方式,让程序来绘制图片。
1
2
3
4
5
6
|
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,设置figure的标题,甚至可以使用subplot在一个figure中显示多张图片。matplotlib 可以直接安装
1
|
pip install matplotlib |
figure默认是带axis的,如果没有需要,我们可以关掉
1
|
plt.axis( 'off' ) |
打开图片后,可以使用一些属性来查看图片信息,如
1
2
3
|
print img.size #图片的尺寸 print img.mode #图片的模式 print img. format #图片的格式 |
显示结果为:
(558, 450)
RGBA
PNG
二、图片的保存
1
|
img.save( 'd:/dog.jpg' ) |
就一行代码,非常简单。这行代码不仅能保存图片,还是转换格式,如本例中,就由原来的png图片保存为了jpg图片。
再介绍下图片保存为灰度图的简单操作,非常简单,打开图片并转换成灰度图的方法是:
1
|
im = Image. open ( 'a.jpg' ).convert('L) |
转换图像格式:
1
|
im.save( 'aa.gif' ) |
以上代码把a.jpg 打开并转换成灰度图(像素值在0-255之间),然后保存成aa.gif格式。可以把上一行代码中‘aa.gif'改成路径加文件名,就可以保存到自己想要保存的地方了。
总结
以上就是本文关于python简单图片操作:打开\显示\保存图像方法介绍的全部内容,希望对大家有所帮助。有什么问题欢迎留言指出。
原文链接:https://www.cnblogs.com/denny402/p/5096001.html