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处理菜单消息操作示例【基于win32ui模块】
May 09 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
Python socket实现的简单通信功能示例
Aug 21 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
python安装读取grib库总结(推荐)
Jun 24 Python
python如何进入交互模式
Jul 06 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 Python
只用50行Python代码爬取网络美女高清图片
Jun 02 Python
python中的random模块和相关函数详解
Apr 22 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+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
Python实现把xml或xsl转换为html格式
2015/04/08 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
Python如何对齐字符串
2020/07/30 Python
python 绘制国旗的示例
2020/09/27 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
超市业务员岗位职责
2013/12/05 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
承诺书范本
2015/01/21 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
体育部部长竞选稿
2015/11/21 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android