手机
当前位置:查字典教程网 >脚本专栏 >python >在Python中使用PIL模块对图片进行高斯模糊处理的教程
在Python中使用PIL模块对图片进行高斯模糊处理的教程
摘要:从一篇文章中看到,PIL1.1.5已经内置了高斯模糊,但是并没有在文档中提及,而且PIL的高斯模糊中radius是硬编码,虽然构造方法中有传...

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

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

代码如下:

#-*- 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()

可以看下效果:

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

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

【在Python中使用PIL模块对图片进行高斯模糊处理的教程】相关文章:

python中的yield使用方法

Python中针对函数处理的特殊方法

python采用requests库模拟登录和抓取数据的简单示例

python使用内存zipfile对象在内存中打包文件示例

python中使用sys模板和logging模块获取行号和函数名的方法

python判断、获取一张图片主色调的2个实例

Python中zip()函数用法实例教程

Python中使用动态变量名的方法

Python strip lstrip rstrip使用方法

Python中apply函数的用法实例教程

精品推荐
分类导航