- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Python来完成简单图像处理.
用Python来完成简单图像处理
摘要:本文简单介绍了用Python来完成简单图像处理任务的方法。虽然图像处理的最佳工具是MATLAB的图像处理工具箱,但是在进行一些“简单的”图像处理任务或者大批量的简单图像处理任务的时候,Python更有优势。
关键词:图像处理 图像增强 Python
Abstract:This context introduces some methods used to fullfill 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 staff 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的站点上获得。
3.Image模块:
Image模块是PIL最基本的模块,其中导出了Image类,一个Image类实例对象就对应了一副图像。同时,Image模块还提供了很多有用的函数。
(1)打开一副图像文件:
import Image
img = Image.open(“dip.jpg”)
这将返回一个Image类实例对象,后面的所有的操作都是在img上完成的。在这里,我们读入的图像是:
(2)调整图像大小:
import Image
img = Image.open(img.jpg)
new_img = img.resize((128,128),Image.BILINEAR)
new_img.save(new_img.jpg)
原来的图像大小是256x256,现在,保存的new_img.jpg的大小是128x128:
就是这么简单,需要说明的是Image.BILINEAR指定采用双线性法对像素点插值。
(3)旋转图像:
现在我们把刚才调整过大小的图像旋转45度:
import Image
img = Image.open(img.jpg)
new_img = img.resize((128,128),Image.BILINEAR)
rot_img = new_img.rotate(45)
rot_img.save(rot_img.jpg)
于是我们保存到rot_img.jpg的图像看起来像下面这样:
(4)格式转换:
假设我们要把上面生成的rot_img.jpg转换成bmp图像,要做到这一点这太简单了:
文档评论(0)