yyzn  2022-04-06 14:21:15  计算机视觉 |   查看评论   

可以的,PythonWare公司提供了免费的Python图像处理工具包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上获得。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指定采用双线性法对像素点插值。在批处理或者简单的Python图像处理任务中,采用Python和PIL(Python Image Library)的组合来完成图像处理任务是一个很不错的选择。设想有一个需要对某个文件夹下的所有图像将对比度提高2倍的任务。用Python来做将是十分简单的。当然,我也不得不承认Python在图像处理方面的功能还比较弱,显然还不适合用来进行滤波、特征提取等等一些更为复杂的应用。我个人的观点是,当你要实现这些“高级”的算法的时候,好吧,把它交给MATLAB去完成。但是,如果你面对的只是一个通常的不要求很复杂算法的图像处理任务,那么,Python图像处理应该才是你的最佳搭档。

图像是理解世界的重要载之一,我们可以靠眼睛去发现!那没有眼睛的计算机是怎样看到并处理图像的?这次我们用Python编程语言进行实操,带你了解图像的基本知识、一起用Python进行编程。持续关注我,知识不断档。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自python可以用来处理图像吗

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]