在图像处理中,经常需要对图像进行平滑、锐化、边界增强等滤波处理。在使用PIL图像处理库时,我们通过Image类中的成员函数filter()来调用滤波函数对图像进行滤波,而滤波函数则通过ImageFilter类来定义的。
下面先直接看一个样例:
#-*- coding: UTF-8 -*-
from PIL import Image
from PIL import ImageFilter
def image_filters_test():
im = Image.open("lenna.jpg")
#预定义的图像增强滤波器
im_blur = im.filter(ImageFilter.BLUR)
im_contour = im.filter(ImageFilter.CONTOUR)
im_min = im.filter(ImageFilter.MinFilter(3))
im.show()
im_blur.show()
im_contour.show()
im_min.show()
return
ImageFilter类中预定义了如下滤波方法:
• BLUR:模糊滤波
• CONTOUR:轮廓滤波
• DETAIL:细节滤波
• EDGE_ENHANCE:边界增强滤波
• EDGE_ENHANCE_MORE:边界增强滤波(程度更深)
• EMBOSS:浮雕滤波
• FIND_EDGES:寻找边界滤波
• SMOOTH:平滑滤波
• SMOOTH_MORE:平滑滤波(程度更深)
• SHARPEN:锐化滤波