Python3图像处理库PIL的ImageFilter的简单使用

ImageFilter模块包含预定义过滤器集的定义,可以与Image.filter()方法一起使用。

这个库的3.3.x版本提供下面一组预定义图像的增强过滤器:

1.BLUR
2.CONTOUR
3.DETALL
4.EDGE_ENHANCE
5.EDGE_EHANCE_MORE
6.EMBOSS
7.FIND_EDGES
8.SMOOTH
9.SMOOTH_MORE
10.SHARPEN

下面用几个简单的代码实现进行说明这几种情况

1.BLUR
模糊滤镜。会使图片较原先的模糊一些。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.BLUR)#高斯模糊滤镜。
im2.save('2.jpg','jpeg')

实现的效果如下
原图如下
这里写图片描述
之后生成的图如下
这里写图片描述

2.CONTOUR
等高线。也就是轮廓滤波,将图像中的轮廓信息提取出来

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.CONTOUR)
im2.save('2.jpg','jpeg')

这里写图片描述

3.DETALL
细节。也就是细节增强滤波,它会显化图片中细节。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.DETAIL)
im2.save('3.jpg','jpeg')

效果图(不过感觉效果貌似不是很明显?
这里写图片描述

4.EDGE_ENHANCE
边缘强化。边缘增强滤波,突出、加强和改善图像中不同灰度区域之间的边界和轮廓的图像增强方法。经处理使得边界和边缘在图像上表现为图像灰度的突变,用以提高人眼识别能力。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.EDGE_ENHANCE)
im2.save('4.jpg','jpeg')

这里写图片描述

5.EDGE_ENHANCE_MORE
边缘更强。深度边缘增强滤波,会使得图像中边缘部分更加明显。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.EDGE_ENHANCE_MORE)
im2.save('5.jpg','jpeg')

这里写图片描述

6.EMBOSS
浮雕。浮雕滤波,会使图像呈现出浮雕效果。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.EMBOSS)
im2.save('6.jpg','jpeg')

这里写图片描述

7.FIND_EDGES
边缘查找。寻找边缘信息的滤波,会找出图像中的边缘信息。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.FIND_EDGES)
im2.save('7.jpg','jpeg')

这里写图片描述

8.SMOOTH
光滑。平滑滤波,突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分,使图像亮度平缓渐变,减小突变梯度,改善图像质量。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.SMOOTH)
im2.save('8.jpg','jpeg')

这里写图片描述

9.SMOOTH_MORE
更加光滑。深度平滑滤波,会使得图像变得更加平滑。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.SMOOTH_MORE)
im2.save('9.jpg','jpeg')

这里写图片描述

10.SHARPEN
锐化。锐化滤波,补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。

from PIL import  Image,ImageFilter

im=Image.open('1.jpg')
im2=im.filter(ImageFilter.SHARPEN)
im2.save('10.jpg','jpeg')

这里写图片描述

官方文档:Pillow
部分内容参考

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页