opencv 图像滤波(均值,方框,高斯,中值)


Posted in Python onJuly 08, 2020

为什么要使用滤波

消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。
如下图,左图带有椒盐噪声,右图为使用中值滤波处理后的图片。

opencv 图像滤波(均值,方框,高斯,中值)

图像滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。

python +opencv讲解

均值滤波

含义
如图:如果我们想对红色点进行处理,则它新值等于周围N乘N个像素点的平均(包括自身)

opencv 图像滤波(均值,方框,高斯,中值)

用表达式表达:

opencv 图像滤波(均值,方框,高斯,中值)

扩展到对整个图像进行均值滤波

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:
处理结果=cv2.blur(原始图像,核大小)

核大小:以(宽度,高度)的元祖
效果:使图像变模糊啦。能处理被椒盐攻击过的照片。

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.blur(a,(8,8))
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

方框滤波

实现方法:函数boxFilter
处理结果=cv2.boxFilter(原始图像,目标图像深度,核大小,normalize属性)

目标图像深度: int类型的目标图像深度,-1表示与原始图像一致
核大小:(宽度,高度)元祖
normalize:是否对目标图像进行归一化处理
normalize为true 时与均值滤波一样,为false时表示任意一个点的像素为周围像素点的和,容易发生溢出超过255

opencv 图像滤波(均值,方框,高斯,中值)

normalize=1,1为true

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.boxFilter(a,-1,(5,5),normalize=1)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果:

opencv 图像滤波(均值,方框,高斯,中值)

normalize=0,0为false
结果中只有几个点不是白色

opencv 图像滤波(均值,方框,高斯,中值)

减少核大小为(2,2)normalize=0

opencv 图像滤波(均值,方框,高斯,中值)

高斯滤波

含义:
中心点权重高,越远越低

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:GaussianBlur

处理结果=cv2.GaussianBlur(原始图像src,核函数大小ksize,sigmaX)

核函数大小ksize:(N,N)必须是奇数
sigmaX:控制x方向方差,控制权重,一般取0,它自己去计算方差。y轴方差和x一致

opencv 图像滤波(均值,方框,高斯,中值)

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.GaussianBlur(a,(3,3),0)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

中值滤波

使用像素点邻域附近的像素的中值代替该点的像素值。通俗点来说,在这个像素的左边找五个像素点,右边找五个像素点,将这些像素进行排序,排序过后产生一个中值,用中间大小的值,来代替该像素的值。

中值滤波可以有效的去除斑点和椒盐噪声。但是效率低,其运算时间 为均值滤波的五倍以上。

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:medianBlur
目标图像=cv2.medianBlur(原始图像,intksize)
intksize:核函数,必须为奇数.

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.medianBlur(a,5)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

到此这篇关于opencv 图像滤波(均值,方框,高斯,中值)的文章就介绍到这了,更多相关opencv 图像滤波内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
打印出python 当前全局变量和入口参数的所有属性
Jul 01 Python
python从入门到精通(DAY 3)
Dec 20 Python
Python 文件处理注意事项总结
Apr 10 Python
Python实现的直接插入排序算法示例
Apr 29 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
详解python 爬取12306验证码
May 10 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
virtualenv介绍及简明教程
Jun 23 Python
python 使用elasticsearch 实现翻页的三种方式
Jul 31 Python
python计算auc的方法
Sep 09 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
Python多线程实用方法以及共享变量资源竞争问题
Apr 12 Python
用opencv给图片换背景色的示例代码
Jul 08 #Python
python文件及目录操作代码汇总
Jul 08 #Python
Python预测2020高考分数和录取情况
Jul 08 #Python
Python venv虚拟环境配置过程解析
Jul 08 #Python
Python如何实现自带HTTP文件传输服务
Jul 08 #Python
Python第三方包PrettyTable安装及用法解析
Jul 08 #Python
简单了解如何封装自己的Python包
Jul 08 #Python
You might like
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
js 分栏效果实现代码
2009/08/29 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
jQuery知识点整理
2015/01/30 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
在keras中实现查看其训练loss值
2020/06/16 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
如何在C# winform中异步调用web services
2015/09/21 面试题
业务经理的岗位职责
2013/11/16 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
乐山大佛导游词
2015/02/02 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
Vue.Draggable实现交换位置
2022/04/07 Vue.js