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实现批量重命名文件的代码
May 25 Python
Python中apply函数的用法实例教程
Jul 31 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
python实现猜单词小游戏
May 22 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
Python实现多属性排序的方法
Dec 05 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
Python饼状图的绘制实例
Jan 15 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
python操作gitlab API过程解析
Dec 27 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
django ListView的使用 ListView中获取url中的参数值方式
Mar 27 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&&mysql)四
2006/10/09 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
PHP加密解密实例分析
2015/12/25 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
vue.js中ref和$refs的使用及示例讲解
2019/08/14 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
Python 面向对象 成员的访问约束
2008/12/23 Python
python2.7安装图文教程
2018/03/13 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
美国温暖商店:The Warming Store
2018/12/15 全球购物
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
办理护照介绍信
2014/01/16 职场文书
同学聚会老师邀请函
2014/01/28 职场文书
交通安全寄语大全
2014/04/08 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
讲党性心得体会
2014/09/03 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
Redis三种集群模式详解
2021/10/05 Redis