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。