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。