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算法学习之基数排序实例
Dec 18 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
Jun 02 Python
python实现NB-IoT模块远程控制
Jun 20 Python
python xpath获取页面注释的方法
Jan 14 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
基于python 凸包问题的解决
Apr 16 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
哪些是python中web开发框架
Jun 17 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 Python
PyTorch中的torch.cat简单介绍
Mar 17 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使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
python使用cookie库操保存cookie详解
2014/03/03 Python
深入浅析python继承问题
2016/05/29 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
python 基于opencv操作摄像头
2020/12/24 Python
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
总经理助理岗位职责
2013/11/08 职场文书
主持人演讲稿范文
2013/12/28 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
党章学习思想汇报
2014/01/14 职场文书
信息总监管理职责范本
2014/03/08 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
MySQL8.0的WITH查询详情
2021/08/30 MySQL
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
python内置模块之上下文管理contextlib
2022/06/14 Python
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL