在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爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
python3.x实现发送邮件功能
May 22 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
使用TensorFlow-Slim进行图像分类的实现
Dec 31 Python
django创建css文件夹的具体方法
Jul 31 Python
Python如何将字符串转换为日期
Jul 31 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
django前端页面下拉选择框默认值设置方式
Aug 09 Python
Python生成并下载文件后端代码实例
Aug 31 Python
PyTorch预训练Bert模型的示例
Nov 17 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
php中设置index.php文件为只读的方法
2013/02/06 PHP
用javascript操作xml
2006/11/04 Javascript
js下弹出窗口的变通
2007/04/18 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
Python数据库的连接实现方法与注意事项
2016/02/27 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
小学国庆节活动总结
2015/03/23 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
MySQL的索引你了解吗
2022/03/13 MySQL