一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点:python
一、不开源,价格贵linux
二、软件容量大。通常3G以上,高版本甚至达5G以上。windows
三、只能作研究,不易转化成软件。浏览器
所以,咱们这里使用python这个脚本语言来进行数字图像处理。函数
要使用python,必须先安装python,通常是2.7版本以上,无论是在windows系统,仍是linux系统,安装都是很是简单的。工具
要使用python进行各类开发,就必须安装对应的库。这和matlab很是类似,只是matlab里面叫工具箱(toolbox),而python里面叫库或包。安装这些库,通常都是使用pip来安装。spa
使用python进行数字图片处理,还得安装Pillow包。虽然python里面自带一个PIL(python images library), 但这个库如今已经中止更新了,因此使用Pillow, 它是由PIL发展而来的。操作系统
pip install Pillow
1、图片的打开与显示code
from PIL import Image img=Image.open('d:/dog.png') img.show()
虽然使用的是Pillow,但它是由PIL fork而来,所以仍是要从PIL中进行import. 使用open()函数来打开图片,使用show()函数来显示图片。orm
这种图片显示方式是调用操做系统自带的图片浏览器来打开图片,有些时候这种方式不太方便,所以咱们也可使用另上一种方式,让程序来绘制图片。
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 能够直接安装
pip install matplotlib
figure默认是带axis的,若是没有须要,咱们能够关掉
plt.axis('off')
打开图片后,可使用一些属性来查看图片信息,如
print img.size #图片的尺寸 print img.mode #图片的模式 print img.format #图片的格式
显示结果为:
2、图片的保存
img.save('d:/dog.jpg')
就一行代码,很是简单。这行代码不只能保存图片,仍是转换格式,如本例中,就由原来的png图片保存为了jpg图片。