Python图像处理入门

2021-07-25 04:31
电脑报 2021年22期
关键词:滤波器滤镜图像处理

在网络世界的各种数据中,图像是非常重要的组成部分。图像处理是分析和操纵数字图像的过程,旨在提高其质量或从中提取一些信息,然后将其用于其他方面。图像处理中的常见任务包括显示图像,裁剪、翻转、旋转等对图像的变形操作,图像分割、分类或图像特征提取,图像恢复和图像内容识别等。

专业的美工人员会使用Photoshop等软件修改图片。不过对于我们程序员来说Python可以成为图像处理任务的最佳选择,因为Python内置嵌入了很多优秀的函数和模块库,其中有不少免费且先进的图像处理工具。在这里我们介绍一些简单的Python图像处理库用法。

这里我们推荐PIL(Python Imaging Library,图像处理类库),PIL是免费的,里面提供了通用的图像处理功能,多数对图像的基本操作都能在这里找到,比如图像缩放、裁剪、旋转、颜色转换等。利用PIL中的函数,我们可以从大多数图像格式文件中读取数据,然后写入最常见的图像格式文件中。

本次实验我们可以使用Pycharm软件或者Anaconda平台,两者的区别在于Pycharm需要手动导入安装模块库,而Anaconda安装时已经内置了大量模块库。下面就和大家分享一下PIL模块的基本用法,首先需要导入图片,导入成功后可以根据实际的需求对图片进行修改与調整,比如缩放、图像的模糊处理、冷暖色调整等。

Resize模块:resize模块用于改变图像大小,这同时也意味着改变图像的文件尺寸,一般用于对不同来源的图像提前统一尺寸或缩小图像文件容量便于后续处理或传输。你可以单独修改图像的高或宽,也可以按比例调整图像大小。模块的原型img.resize((width,high))。width和high分别代表着图像的宽度和高度。模块库的导入和图像路径的输入和输出都在之前的数据分析中提到过的,忘记的同学可以查阅一下相关的资料。

Filter模块:ImageFilter模块提供了图像滤波器的相关定义,所谓滤波器就是把图像整体数据变成波,再将特定频段的波过滤掉,通过这样的数据处理将图像转换成多达十种不同的效果,这十种滤波器包含:模糊滤镜、轮廓滤镜、细节增强滤波、边缘增强滤波、边缘增强(阈值更大)、浮雕滤镜、边界滤镜、平滑滤镜、平滑滤镜(阈值更大)、锐化滤镜。不同的滤镜带来的效果感受也是不一样的。

Split模块:在Image子库下split()函数常用来分离RGB图片的三个颜色通道来实现颜色交换。Image.split()方法从图像返回当前图像各个通道组成的一个元组。分割一个“RGB”图像会创建三个新图像,每个图像都包含一个原始波段(红色、绿色、蓝色)的副本。提取出来的RGB数值可以嵌套lambda函数一起使用。这样后续可以根据数值对图像分通道进行一定的调整,当然图片最后的色彩结果也会有区别了。

PIL是Python图像处理最基础也是最常用的模块之一,后期我们还会对图片进行裁剪、亮度和灰度级的调整等等操作。有兴趣的同学也可以查找相关资料自行尝试调整一下自己的图片哦。

猜你喜欢
滤波器滤镜图像处理
浅谈有源滤波器分析及仿真
“课程思政”视域下职业学校《图像处理》课程教学改革实践
构建《Photoshop图像处理》课程思政实践教学路径的探索
基于图像处理与卷积神经网络的零件识别
高坚Nuances系列Extreme Full中灰密度镜套装
CIC插值滤波器的研究
功能强大的滤镜库
基于新一代信息技术的Photoshop图像处理课程开发与建设
Rollei滤镜德国试用评测
著名滤镜插件NIK提供免费下载