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()
先贴出原图
http://abruzzi.iteye.com/upload/attachment/82701/b92d039e-6456-3343-9a04-7221170d0494.jpg
下面是一些效果图,可以看到对一个图片使用各种滤镜后的效果。
http://abruzzi.iteye.com/upload/attachment/82689/d898323f-6930-3f17-a611-a04883aebf33.jpg
模糊滤镜效果
http://abruzzi.iteye.com/upload/attachment/82691/37fd96d0-e4b2-37e4-b030-3b88c9f4567c.jpg
轮廓滤镜效果
http://abruzzi.iteye.com/upload/attachment/82693/b863e2f1-0adf-3c35-914b-a39000cbf048.jpg
边界加强
http://abruzzi.iteye.com/upload/attachment/82695/460a3bd6-f497-3ab0-98d6-2e643d5d1b33.jpg
边界加强(阀值正大)
http://abruzzi.iteye.com/upload/attachment/82697/69c13a56-5c09-3774-92f6-80780ddd33d7.jpg
浮雕效果
http://abruzzi.iteye.com/upload/attachment/82699/526603a7-668d-332c-91e7-dfc03fb0b3af.jpg
边界滤镜
http://abruzzi.iteye.com/upload/attachment/82705/6b9de13d-8997-378d-8554-de5d157e1cc0.jpg
平滑滤镜
http://abruzzi.iteye.com/upload/attachment/82707/f8569cd8-aec1-3d83-87b6-e42f53c58e8d.jpg
平滑滤镜(阀值增大)
http://abruzzi.iteye.com/upload/attachment/82703/ad3e3688-f769-33d7-8d25-c7209225acde.jpg
锐化滤镜
PIL的比较高级(封装的层次)的模块就介绍完了,当然,贴出来的只是pil的功能的一个小子集,PIL还包括一些画图(点,线,面,多边形等),字体设置,ps,显示器截屏等等,这些功能暂时不做介绍了,因为贴出来的部分已经足以应付基本的图形图像处理了,如果有兴趣,可以参考PIL的handbook。
页:
[1]