论坛首页 编程语言技术论坛

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

浏览 8211 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-10  

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。

 

 

  • 大小: 18.8 KB
  • 大小: 62.2 KB
  • 大小: 57.5 KB
  • 大小: 68.9 KB
  • 大小: 37.7 KB
  • 大小: 61.7 KB
  • 大小: 36.6 KB
  • 大小: 45.1 KB
  • 大小: 25.9 KB
  • 大小: 25.6 KB
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics