网站大量收购独家精品文档,联系QQ:2885784924

计算机视觉应用--使用PIL处理图像.pptx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

使用PIL处理图像1.2

1.2使用PIL处理图像至此正式进入图像的基本操作的学习,本章中处理图像时所用的原图均为“panda.jpg”,如图1-18所示。图1-18panda.jpg小知识Python中常用的图像处理库有OpenCV、scikit-image等。

1.2.1读取及保存图像1.2使用PIL处理图像Python图像处理类库(Pythonimaginglibrary,PIL)提供了通用的图像处理功能及大量有用的基本图像操作。例如,图像缩放、裁剪、旋转、颜色转换等。利用PIL中的函数,可以从大多数图像格式的文件中读取数据,然后写入常见的图像格式文件中。PIL中最重要的模块为Image。要读取一幅图像,可以使用如下代码:上述代码的返回值“im”是一个PIL图像对象。显示图像可以使用如下代码:

1.2使用PIL处理图像程序运行结果如图1-19所示图1-19显示图像

1.2使用PIL处理图像图像作为PIl.PnglmagePlugin.PnglmageFile类的对象加载,可以用宽度、高度和模式等属性来查找,如宽度(像素)x高度(像素)或分辨率,以及图像的模式,具体代码如下:程序运行结果如下:图像的颜色转换可以使用convert()函数来实现。要读取一幅图像,并将其转换成灰度图像,只需要加上convert(?L?),具体代码如下:

1.2使用PIL处理图像程序运行结果如图1-20所示。图1-20读取图像并将其转换为灰度图像

1.2使用PIL处理图像继续添加如下代码,即可将生成的灰度图像保存至photos文件夹下并命名为panda_gray:

1.2.2图像区域的复制粘贴1.2使用PIL处理图像使用crop()函数可以从一幅图像中裁剪指定区域,具体代码如下:

1.2使用PIL处理图像程序运行结果如图1-21所示。图1-21裁剪指定的区域

1.2使用PIL处理图像该区域由四元组来指定。四元组的坐标依次是(左,上,右,下)。PIL中指定坐标系的左上角坐标为(0,0)。可以旋转上面代码中获取的区域,然后使用paste()语句将该区域放回原图中,具体代码如下:

1.2使用PIL处理图像程序运行结果如图1-22所示。图1-22图像区域的旋转和粘贴

1.2.3调整图像尺寸和旋转图像1.2使用PIL处理图像要调整一幅图像的尺寸,可以调用resize()函数。该函数的参数是一个元组,用来指定新图像的大小,具体代码如下:

1.2使用PIL处理图像程序运行结果如图1-23所示。图1-23调整图像尺寸

1.2使用PIL处理图像要旋转一幅图像,可以使用逆时针方式表示旋转角度,然后调用rotate()函数,具体代码如下:

1.2使用PIL处理图像程序运行结果如图1-24所示。图1-24旋转图像

1.2.4其他图像处理1.2使用PIL处理图像图像负片的原理是将原图像中每个像素的颜色值取反,即将颜色值的最大值255减去原来的颜色值,得到新的颜色值。图像负片可以由point()函数实现,具体代码如下:1.图像负片

1.2使用PIL处理图像程序运行结果如图1-25所示。图1-25图像负片

1.2使用PIL处理图像几何变换是通过将适当的矩阵(通常用齐次坐标表示)与图像矩阵相乘来完成的。由于这些变换会改变图像的几何方向,因此称这些变换为几何变换。2.几何变换(1)镜像图像。可以使用transpose()函数得到在水平或垂直方向上的镜像图像,具体代码如下:

1.2使用PIL处理图像程序运行结果如图1-26所示。图1-26镜像图像

1.2使用PIL处理图像(2)仿射变换。二维仿射变换矩阵可以应用于图像的每个像素(在齐次坐标中),以进行仿射变换,这种变换通常通过反向映射(扭曲)来实现。下面是用transform()函数进行仿射变换的例子。transform()函数中的数据参数是一个六元组(a,b,c,d,e,f)。对于输出图像中的每个像素(x,y),新值取自输人图像中的位置(ax+by+c,dx+ey+f),使用最接近的像素进行近似。transform()函数可用于缩放、平移、旋转和剪切原始图像。

1.2使用PIL处理图像程序运行结果如图1-27所示。图1-27图像仿射变换

1.2使用PIL处理图像可以使用putpixel()函数更改图像中的像素值。使用函数向图像中添加噪声可以通过从图像中随机选择几个像素值,然后将这些像素值的一半设置为黑色,另一半设置为白色,来为图像添加椒盐噪声(salt-and-peppernoise)。添加椒盐噪声的具体代码如下:3.更改像素值

1.2使用PIL处理图像

1.2使用PIL处理图像程序运行结果如图

文档评论(0)

小刚 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2025年02月18日上传了教师资格证

1亿VIP精品文档

相关文档