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


Posted in Python onMay 05, 2015

从一篇文章中看到,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模块对图片进行高斯模糊处理的教程

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

Python 相关文章推荐
python单线程实现多个定时器示例
Mar 30 Python
python监控网站运行异常并发送邮件的方法
Mar 13 Python
在Python下尝试多线程编程
Apr 28 Python
python删除不需要的python文件方法
Apr 24 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
Python的互斥锁与信号量详解
Sep 12 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
Django实现列表页商品数据返回教程
Apr 03 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
在Python中使用mechanize模块模拟浏览器功能
May 05 #Python
python实现自动更换ip的方法
May 05 #Python
浅谈MySQL中的触发器
May 05 #Python
python去除所有html标签的方法
May 05 #Python
python实现将汉字转换成汉语拼音的库
May 05 #Python
python基于Tkinter库实现简单文本编辑器实例
May 05 #Python
python实现的简单窗口倒计时界面实例
May 05 #Python
You might like
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
php实现paypal 授权登录
2015/05/28 PHP
php猜单词游戏
2015/09/29 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
Python中的ceil()方法使用教程
2015/05/14 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
浅析Python 序列化与反序列化
2020/08/05 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
餐饮服务员岗位职责
2015/02/09 职场文书
信用卡催款律师函
2015/05/27 职场文书
歌舞青春观后感
2015/06/10 职场文书
大学军训口号大全
2015/12/24 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
vue elementUI表格控制对应列
2022/04/13 Vue.js