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 列表list使用介绍
Nov 30 Python
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
Python爬虫之pandas基本安装与使用方法示例
Aug 08 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
Python小游戏之300行代码实现俄罗斯方块
Jan 04 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
Python计算IV值的示例讲解
Feb 28 Python
jupyter notebook 参数传递给shell命令行实例
Apr 10 Python
Python使用plt.boxplot() 参数绘制箱线图
Jun 04 Python
pandas参数设置的实用小技巧
Aug 23 Python
Python实现Hash算法
Mar 18 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
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
微信小程序实现图片压缩功能
2018/01/26 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
python实现在windows下操作word的方法
2015/04/28 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
Python reduce()函数的用法小结
2017/11/15 Python
Python中的函数作用域
2018/05/07 Python
使用python画社交网络图实例代码
2019/07/10 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
python 实现生成均匀分布的点
2019/12/05 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
简单了解Python write writelines区别
2020/02/27 Python
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
应届生求职推荐信
2013/10/28 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
企业承诺书格式
2014/05/21 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
2014年公司工作总结
2014/11/22 职场文书
环卫工作个人总结
2015/03/04 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers