Python图形图像处理库的介绍之ImageFilter模块(滤镜)

ImageFilter模块

ImageFilter是PIL的滤镜模块,当前版本支持9中加强滤镜,通过这些预定义的滤镜,可以方便的对图片进行一些过滤操作,从而去掉图片中的噪音(部分的消除),这样可以降低将来处理的复杂度(如模式识别等)。

滤镜名称 含义 ImageFilter.BLUR 模糊滤镜 ImageFilter.CONTOUR 轮廓 ImageFilter.EDGE_ENHANCE 边界加强 ImageFilter.EDGE_ENHANCE_MORE 边界加强(阀值更大) ImageFilter.EMBOSS 浮雕滤镜 ImageFilter.FIND_EDGES 边界滤镜 ImageFilter.SMOOTH 平滑滤镜 ImageFilter.SMOOTH_MORE 平滑滤镜(阀值更大) ImageFilter.SHARPEN 锐化滤镜

要使用PIL的滤镜功能,需要引入ImageFilter模块

import Image, ImageFilter

def inHalf(img):
    w,h = img.size
    return img.resize((w/2, h/2))

def filterDemo():
    img = Image.open("sandstone_half.jpg")
    #img = inHalf(img)
    imgfilted = img.filter(ImageFilter.SHARPEN)
    #imgfilted.show()
    imgfilted.save("sandstone_sharpen.jpg")

if __name__ == "__main__":
    filterDemo()
 

先贴出原图

模糊滤镜效果

轮廓滤镜效果

边界加强

边界加强(阀值正大)

浮雕效果

边界滤镜

平滑滤镜

平滑滤镜(阀值增大)

锐化滤镜

PIL的比较高级(封装的层次)的模块就介绍完了,当然,贴出来的只是pil的功能的一个小子集,PIL还包括一些画图(点,线,面,多边形等),字体设置,ps,显示器截屏等等,这些功能暂时不做介绍了,因为贴出来的部分已经足以应付基本的图形图像处理了,如果有兴趣,可以参考PIL的handbook。

经验分享 程序员 微信小程序 职场和发展