Python中ImageFilter模块提供了滤镜功能,它可以被用来建立图像特效,也可以将此效果作为中间结果进行进一步处理。因此在图像识别领域,滤镜功能也是不可或缺的。ImageFilter模块中常用的滤镜主要有:
BLUR #模糊滤镜
FIND_EDGES #边缘滤镜
SHARPEN #锐化
EDGE_ENHANCE #边缘增强
GaussianBlur(radius) #高斯模糊
UnsharpMask #USM锐化
MedianFilter #中值滤波
滤镜的使用方法就是将滤镜实例作为参数提供给Image类的方法filte(),通过此方法返回相应特效的图像。
下面看看程序如何实现:
from PIL import Image,ImageFilter #首先调用Image模块和ImageFilter模块
img=Image.open(“D:\python\image\6.jpg”) #打开需要制作特效的图像文件
width,height=img.size #获取图像的尺寸
img_new=Image.new(‘RGB’,(2*width,height)) #新建一个图像文件并设定其参数
img_new.paste(img,(0,0)) #将原图粘贴在图像文件中
img1=ImageFilter.EDGE_ENHANCE #调用边缘强化滤镜方法
img2=ImageFilter.FIND_EDGES #调用查找边缘滤镜方法
img3=ImageFilter.GaussianBlur #调用高斯模糊滤镜方法
img4=ImageFilter.BLUR #调用模糊滤镜方法
for fltr in [img1,img2,img3,img4]: #遍历几种滤镜
img_output=img.filter(fltr) #将滤镜实例进行应用
img_new.paste(img_output, (width,0)) #粘贴滤镜后的图像
img_new.show() #显示图像
运行结果:
边缘强化
查找边缘
高斯模糊
模糊滤镜
以上便是ImageFilter模块常用的几种滤镜使用方法,当然该模块还有其他的多种滤镜,使用方法基本类似,这里不做说明,希望对大家有所帮助。