Python图像滤波处理操作示例【基于ImageFilter类】


Posted in Python onJanuary 03, 2019

本文实例讲述了Python图像滤波处理操作。分享给大家供大家参考,具体如下:

在图像处理中,经常需要对图像进行平滑、锐化、边界增强等滤波处理。在使用PIL图像处理库时,我们通过Image类中的成员函数filter()来调用滤波函数对图像进行滤波,而滤波函数则通过ImageFilter类来定义的。

下面先直接看一个样例:

#-*- coding: UTF-8 -*-
from PIL import Image
from PIL import ImageFilter
def image_filters_test():
  im = Image.open("lena.jpg")
  #预定义的图像增强滤波器
  im_blur = im.filter(ImageFilter.BLUR)
  im_contour = im.filter(ImageFilter.CONTOUR)
  im_min = im.filter(ImageFilter.MinFilter(3))
  im.show()
  im_blur.show()
  im_contour.show()
  im_min.show()
  return
image_filters_test()

ImageFilter类中预定义了如下滤波方法:

BLUR:模糊滤波

CONTOUR:轮廓滤波

DETAIL:细节滤波

EDGE_ENHANCE:边界增强滤波

EDGE_ENHANCE_MORE:边界增强滤波(程度更深)

EMBOSS:浮雕滤波

FIND_EDGES:寻找边界滤波

SMOOTH:平滑滤波

SMOOTH_MORE:平滑滤波(程度更深)

SHARPEN:锐化滤波

• GaussianBlur(radius=2):高斯模糊

>radius指定平滑半径。

 UnsharpMask(radius=2, percent=150, threshold=3):反锐化掩码滤波

>radius指定模糊半径;

>percent指定反锐化强度(百分比);

>threshold控制被锐化的最小亮度变化。

• Kernel(size, kernel, scale=None, offset=0):核滤波

当前版本只支持核大小为3x3和5x5的核大小,且图像格式为“L”和“RGB”的图像。

>size指定核大小(width, height);

>kernel指定核权值的序列;

>scale指定缩放因子;

>offset指定偏移量,如果使用,则将该值加到缩放后的结果上。

• RankFilter(size, rank):排序滤波

>size指定滤波核的大小;

>rank指定选取排在第rank位的像素,若大小为0,则为最小值滤波;若大小为size * size / 2则为中值滤波;若大小为size * size - 1则为最大值滤波。

• MedianFilter(size=3):中值滤波

>size指定核的大小

• MinFilter(size=3):最小值滤波器

>size指定核的大小

• MaxFilter(size=3):最大值滤波器

>size指定核的大小

• ModeFilter(size=3):波形滤波器

选取核内出现频次最高的像素值作为该点像素值,仅出现一次或两次的像素将被忽略,若没有像素出现两次以上,则保留原像素值。

>size指定核的大小

原图lena.jpg如下:

Python图像滤波处理操作示例【基于ImageFilter类】

上例的滤波处理结果如下:

Python图像滤波处理操作示例【基于ImageFilter类】

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
详解Python中的文本处理
Apr 11 Python
python实现爬取千万淘宝商品的方法
Jun 30 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
总结python爬虫抓站的实用技巧
Aug 09 Python
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
使用python turtle画高达
Jan 19 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
Python全局变量与global关键字常见错误解决方案
Oct 05 Python
python 调用有道api接口的方法
Jan 03 #Python
对python调用RPC接口的实例详解
Jan 03 #Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 #Python
Python多图片合并PDF的方法
Jan 03 #Python
python对于requests的封装方法详解
Jan 03 #Python
python使用suds调用webservice接口的方法
Jan 03 #Python
Python调用服务接口的实例
Jan 03 #Python
You might like
php简单统计在线人数的方法
2016/05/10 PHP
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
python控制台中实现进度条功能
2015/11/10 Python
python函数与方法的区别总结
2019/06/23 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
浅谈Python中的字符串
2020/06/10 Python
python unichr函数知识点总结
2020/12/16 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
高中生自我评价个人范文
2013/11/09 职场文书
管道维修工岗位职责
2013/12/27 职场文书
《云房子》教学反思
2014/04/20 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
小学四年级作文之写景
2019/08/23 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js