在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 相关文章推荐
django实现分页的方法
May 26 Python
Python栈类实例分析
Jun 15 Python
Python之py2exe打包工具详解
Jun 14 Python
Python 多线程的实例详解
Sep 07 Python
python实现两个文件合并功能
Apr 01 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
python+django+rest框架配置创建方法
Aug 31 Python
Python换行与不换行的输出实例
Feb 19 Python
用Python生成HTML表格的方法示例
Mar 06 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
Python如何绘制日历图和热力图
Aug 07 Python
分享Python异步爬取知乎热榜
Apr 12 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
PHP的开发框架的现状和展望
2007/03/16 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
laravel学习教程之关联模型
2016/07/30 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
2017/01/04 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
Python中的上下文管理器和with语句的使用
2018/04/17 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
下载官网python并安装的步骤详解
2019/10/12 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
制药工程专业毕业生推荐信
2013/12/24 职场文书
保护环境建议书400字
2014/05/13 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书