python可以用来处理图像吗

 我来答
匿名用户
2016-12-18
展开全部
可以的,
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图像处理应该才是你的最佳搭档。
老男孩教育
2022-11-02 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
老男孩教育
专注于Linux高级运维、Python开发、大数据培训,为您分享行业前沿的技术,有效的学习方法和有价值的学习资料。
向TA提问
展开全部

当然可以,Python有很多优质的图像处理库:

1、scikit Image

scikit Image是一个基于numpy数组的开源python包。它实现了用于研究、教育和工业应用的算法和实用程序。即使是对于那些刚接触python的人,它也是一个相当简单的库。此库代码质量非常高并已经过同行评审,是由一个活跃的志愿者社区编写的。

2、Numpy

Numpy是python编程的核心库之一,支持数组结构。图像本质上是包含数据点像素的标准Numpy数组。因此,通过使用基本的Numpy操作——例如切片、脱敏和花式索引,可以修改图像的像素值。可以使用skimage加载图像并使用matplotlib显示。

3、Scipy

Scipy是python的另一个核心科学模块,就像numpy一样,可用于基本的图像处理和处理任务。值得一提的是,子模块scipy.ndimage提供了n维numpy数组上运行的函数。该软件包目前包括线性和非线性滤波、二进制形态、B样条插值和对象测量等功能。

4、PIL/ Pillow

PIL是一个免费的python编程语言库,它增加了对打开、处理和保存许多不同图像文件格式的支持。然而,它的发展停滞不前,其最后一次更新还是在2009年。幸运的是,PIL有一个正处于积极开发阶段的分支pillow,它非常易于安装。pillow能在所有主要操作系统上运行并支持python3.该库包含基本的图像处理功能,包括点操作、使用一组内置卷积内核进行过滤以及颜色空间转换。

5、OpenCV-Python

OpenCV-Python是计算机视觉应用中使用最广泛的库之一。Opencv-Python是OpenCV的Python API。OpenCV-python不仅速度快,也易于编码和部署。这使其成为执行计算密集型计算机视觉程序的绝佳选择。

6、SimpleCV

SimpleCV也是用于构建计算机视觉应用程序的开源框架。通过它可以访问如OpenCV等高性能的计算机视觉库,而无需首先了解位深度、文件格式或色彩空间等。学习难度远远小于OpenCV,并且正如他们的标语所说:它使计算机视觉变得简单。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扣丁格子
2021-01-18
知道答主
回答量:20
采纳率:100%
帮助的人:9419
展开全部

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

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式