在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中使用Tkinter模块创建GUI程序实例
Jan 14 Python
简介Python设计模式中的代理模式与模板方法模式编程
Feb 02 Python
Python实现登陆文件验证方法
Oct 06 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
Python创建空列表的字典2种方法详解
Feb 13 Python
python字符串的index和find的区别详解
Jun 20 Python
Python3.8安装Pygame教程步骤详解
Aug 14 Python
Python 制作查询商品历史价格的小工具
Oct 20 Python
python处理写入数据代码讲解
Oct 22 Python
python实现批量移动文件
Apr 05 Python
基于Python实现股票收益率分析
Apr 02 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
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
PHP数组函数知识汇总
2016/05/12 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
详解python的argpare和click模块小结
2019/03/31 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
PyQt5实现画布小程序
2020/05/30 Python
Python偏函数实现原理及应用
2020/11/20 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
广告学专业应届生求职信
2013/10/01 职场文书
2014年教研员工作总结
2014/12/23 职场文书
商务司机岗位职责
2015/04/10 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书