Python中使用PIL库实现图片高斯模糊实例


Posted in Python onFebruary 08, 2015

一、安装PIL

PIL是Python Imaging Library简称,用于处理图片。PIL中已经有图片高斯模糊处理类,但有个bug(目前最新的1.1.7bug还存在),就是模糊半径写死的是2,不能设置。在源码ImageFilter.py的第160行:

Python中使用PIL库实现图片高斯模糊实例

所以,我们在这里自己改一下就OK了。

项目地址:http://www.pythonware.com/products/pil/

二、修改后的代码

代码如下:

#-*- 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)

三、调用

simg = 'demo.jpg'

dimg = 'demo_blur.jpg'

image = Image.open(simg)

image = image.filter(MyGaussianBlur(radius=30))

image.save(dimg)

print dimg, 'success'

如果只需要处理某个区域,传入bounds参数即可

四、效果
原图:

Python中使用PIL库实现图片高斯模糊实例

处理后的:

Python中使用PIL库实现图片高斯模糊实例

Python 相关文章推荐
python操作CouchDB的方法
Oct 08 Python
Python脚本文件打包成可执行文件的方法
Jun 02 Python
深入理解python对json的操作总结
Jan 05 Python
简单易懂的python环境安装教程
Jul 13 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
浅谈numpy生成数组的零值问题
Nov 12 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
QT5 Designer 打不开的问题及解决方法
Aug 20 Python
基于python实现图片转字符画代码实例
Sep 04 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 Python
Python函数式编程中itertools模块详解
Sep 15 Python
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 #Python
Python Web框架Flask中使用七牛云存储实例
Feb 08 #Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 #Python
Python Web框架Flask中使用新浪SAE云存储实例
Feb 08 #Python
Python中装饰器的一个妙用
Feb 08 #Python
Python中使用HTMLParser解析html实例
Feb 08 #Python
Pyhton中防止SQL注入的方法
Feb 05 #Python
You might like
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
8个必备的PHP功能开发
2015/10/02 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
Python自动生产表情包
2017/03/17 Python
python将list转为matrix的方法
2018/12/12 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
python遍历小写英文字母的方法
2019/01/02 Python
Python笔试面试题小结
2019/09/07 Python
python根据文本生成词云图代码实例
2019/11/15 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
应届生法律顾问求职信
2013/11/19 职场文书
外语系毕业生找工作的求职信
2013/11/28 职场文书
大学生志愿者感言
2014/01/15 职场文书
销售员岗位职责
2014/06/09 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
2014年统战工作总结
2014/12/09 职场文书
交通安全温馨提示语
2015/07/14 职场文书
初中地理教学反思
2016/02/19 职场文书
python实现批量移动文件
2021/04/05 Python
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python