当前位置: 移动技术网 > IT编程>脚本编程>Python > 在Python中使用PIL模块对图片进行高斯模糊处理的教程

在Python中使用PIL模块对图片进行高斯模糊处理的教程

2019年06月14日  | 移动技术网IT编程  | 我要评论

学园默示录,面积和面积单位ppt,3d淘模网

从一篇文章中看到,pil 1.1.5 已经内置了高斯模糊,但是并没有在文档中提及,而且pil的高斯模糊中 radius 是硬编码, 虽然构造方法中有传入 radius 参数,但压根就没有用到 (),所以需要自己进行改造,当然,知道了原因, 修改起来自然非常简单了。

结合帖子中的需求,对局部进行高斯模糊,所以还需要结合使用 和 方法实现局部使用滤镜。

代码如下:

#-*- coding: utf-8 -*-

from pil import image, imagefilter

class mygaussianblur(imagefilter.filter):
  name = "gaussianblur"

  def __init__(self, radius=2, bounds=none):
    self.radius = radius
    self.bounds = bounds

  def filter(self, image):
    if self.bounds:
      clips = image.crop(self.bounds).gaussian_blur(self.radius)
      image.paste(clips, self.bounds)
      return image
    else:
      return image.gaussian_blur(self.radius)

bounds = (150, 130, 280, 230)
image = image.open('source.jpg')
image = image.filter(mygaussianblur(radius=29, bounds=bounds))
image.show()

可以看下效果:

201555170400852.jpg (500×667)

201555170538214.jpg (500×667)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网