用 Pyth on 进行图像处理
作者:rockins
(成都 电子科技大学)
摘要:本文简单介绍了用 Python 来完成简单图像处理任务的方法。虽然图像处理的最佳工
具是 MATLAB 的图像处理工具箱,但是在进行一些“简单的”图像处理任务或者大批量的简
单图像处理任务的时候,Python 更有优势。
关键词:图像处理 图像增强 Python
Abstract:This context introduces some methods used to fullll simply image
processing task in python programming language.Although the best image
processing toolkit is the Image Processing Toolbox of MATLAB,python is
superior to this toolkit when your sta$ is somewhat “simple” or simple but
boring and exhausting image processing commitment.
Keywords:Image Processing Image Enhancement Python
1.引言:
提到图像处理,人们通常想到的工具是 MATLAB。诚然,MATLAB 提供了一个强大的
图像处理工具箱。但是,对于简单的图像处理任务而言,采用一种高级的语言将起到事半功
倍的效果。Python 无疑就是实现这一功能的理想选择。Python 的面向对象、弱数据类型
等等特性都使得用它来进行简单的图像处理的时候非常的简洁方便。
2.简介:
PythonWare 公司提供了免费的图像处理工具包 PIL(Python Image Library),该软件
包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转
换,图像增强,直方图处理,插值和滤波等等。虽然在这个软件包上要实现类似 MATLAB
中的复杂的图像处理算法并不太适合,但是 Python 的快速开发能力以及面向对象等等诸多
特点使得它非常适合用来进行原型开发。
在 PIL 中,任何一副图像都是用一个 Image 对象表示,而这个类由和它同名的模块导
出,因此,要加载一副图像,最简单的形式是这样的:
import Image
img = Image.open(“dip.jpg”)
注意:第一行的 Image 是模块名;第二行的 img 是一个 Image 对象; Image 类是在
Image 模块中定义的。关于 Image 模块和 Image 类,切记不要混淆了。现在,我们就可
以对 img 进行各种操作了,所有对 img 的操作最终都会反映到到 dip.img 图像上。
PIL 提供了丰富的功能模块:Image,ImageDraw,ImageEnhance,ImageFile 等等。
最常用到的模块是 Image,ImageDraw,ImageEnhance 这三个模块。下面我对此分别做
一介绍。关于其它模块的使用请参见说明文档 .有关 PIL 软件包和相关的说明文档可在
PythonWare 的站点 www.pythonware.com