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虚拟环境virtualenv的安装与使用
Sep 21 Python
itchat接口使用示例
Oct 23 Python
浅谈机器学习需要的了解的十大算法
Dec 15 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 Python
Python TCPServer 多线程多客户端通信的实现
Dec 31 Python
如何基于python把文字图片写入word文档
Jul 31 Python
Python OpenCV 图像平移的实现示例
Jun 04 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实现WebService的简单示例和实现步骤
2015/03/27 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
常用的js方法合集
2017/03/10 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
Python复制目录结构脚本代码分享
2015/03/06 Python
python使用append合并两个数组的方法
2015/04/28 Python
解析Python中while true的使用
2015/10/13 Python
用Python实现随机森林算法的示例
2017/08/24 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
Python 内存管理机制全面分析
2021/01/16 Python
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
安全教育心得体会
2013/12/29 职场文书
采购部经理岗位职责
2014/02/10 职场文书
化验室安全管理制度
2015/08/06 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
合作合同协议书
2016/03/21 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python