时间:2021-05-22
从一篇文章中看到,PIL 1.1.5 已经内置了高斯模糊,但是并没有在文档中提及,而且PIL的高斯模糊中 radius 是硬编码, 虽然构造方法中有传入 radius 参数,但压根就没有用到 (看这里),所以需要自己进行改造,当然,知道了原因, 修改起来自然非常简单了。
结合帖子中的需求,对局部进行高斯模糊,所以还需要结合使用 crop 和 paste 方法实现局部使用滤镜。
代码如下:
#-*- coding: utf-8 -*-from PIL import Image, ImageFilterclass 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()可以看下效果:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、安装PILPIL是PythonImagingLibrary简称,用于处理图片。PIL中已经有图片高斯模糊处理类,但有个bug(目前最新的1.1.7bug还存
本文实例讲述了python实现通过pil模块对图片格式进行转换的方法。分享给大家供大家参考。具体分析如下:python的pil模块相当的智能,如果你需要对图片格
1、PIL介绍以及图片分割Python3安装:pip3installPillow1.1image模块Image模块是在PythonPIL图像处理中常见的模块,主
本文实例讲述了python通过pil模块获得图片exif信息的方法。分享给大家供大家参考。具体分析如下:python的pil模块功能超级强大,不但可以用来处理图
本文实例讲述了python通过pil模块将raw图片转换成png图片的方法。分享给大家供大家参考。具体分析如下:python通过pil模块将raw图片转换成pn