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将字符串转换成数组的方法
Apr 29 Python
Python fileinput模块使用实例
May 28 Python
浅谈Python基础之I/O模型
May 11 Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
python2.7安装图文教程
Mar 13 Python
python中class的定义及使用教程
Sep 18 Python
Python 利用OpenCV给照片换底色的示例代码
Aug 03 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 Python
详解Python Celery和RabbitMQ实战教程
Jan 20 Python
Python list列表删除元素的4种方法
Nov 01 Python
python解析json数据
Apr 29 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
一个odbc连mssql分页的类
2006/10/09 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
python列表生成器迭代器实例解析
2019/12/19 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
python中matplotlib实现随鼠标滑动自动标注代码
2020/04/23 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
百丽国际旗下购物网站:优购
2017/02/28 全球购物
帕克纽约:PARKER NY
2018/12/09 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
先进集体获奖感言
2014/02/13 职场文书
企业文化建设实施方案
2014/03/22 职场文书
法学院毕业生求职信
2014/06/25 职场文书
项目经理岗位职责
2015/01/31 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
Angular CLI发布路径的配置项浅析
2021/03/29 Javascript
Golang gRPC HTTP协议转换示例
2022/06/16 Golang