高血压专题网,内容丰富有趣,生活中的好帮手!
高血压专题网 > python+opencv计算机视觉去噪处理的均值滤波 高斯滤波 中值滤波 双边滤波 方框滤波介绍

python+opencv计算机视觉去噪处理的均值滤波 高斯滤波 中值滤波 双边滤波 方框滤波介绍

时间:2019-07-07 09:53:30

相关推荐

python+opencv计算机视觉去噪处理的均值滤波 高斯滤波 中值滤波 双边滤波 方框滤波介绍

参考大佬的

xzbwm576

/u011304078/article/details/100171317

详解均值滤波,高斯滤波,中值滤波,双边滤波,方框滤波

滤波器种类

线性滤波: 方框滤波、均值滤波、高斯滤波

非线性滤波: 中值滤波、双边滤波图像

图像滤波要求:

不能损害图像的轮廓和边缘,

图像清晰视觉效果更好

一、图像平滑

图像平滑的目的之一是消除噪声,二是模糊图像。

(1)方框滤波

它是滤波器中最简单的,是通过滤波器核K内每个像素值的平均值得到的,滤波核如下

参数:

InputArray src: 输入图像,可以是Mat类型

. OutputArray dst: 经滤波后输出图像

. int ddepth: 目标图像的深度,若设置为-1,则深度与原图像深度相同

. Size ksize: Size类型,内核的大小,一般用Size(w, h)表示,如Size(3, 3)表示kernel窗口大小为3x3

. Point anchor = Point(-1,-1): 进行滤波操作的点,如果是默认值(-1, -1)说明对上述窗口中心点所对应的像素点进行操作

. bool normalize = true: 内核是否被归一化处理,有默认值true

. int borderType = BORDER_DEFAULT: 用于腿短图像外部像素的某种便捷模式,有默认值BORDER_DEFAULT.

(2)均值滤波

均值滤波就是归一化后的方框滤波,对于方框滤波,若normalize=true,则方框滤波变为均值滤波(所有像素的加权系数相等),归一化就是将要处理的量缩放到一定范围,比如(0,1)。

(3)高斯滤波

高斯滤波可以很好的消除噪声,高斯模糊对图像来说就是一个低通滤波器;数学角度来讲,就是图像与正态分布做卷积;其就是每个像素点本身和邻域内的其他的像素值加权平均;它是图像平滑的重要方式,能有效抑制噪声,达到图像平滑的效果;平均模板对四周像素的使用是一视同仁的,这样的话整幅图处理后看上去就会非常的模糊;然而高斯滤波打破了这样的局限,分配以不同的权重,随着距离中心距离的增大,权重将迅速减小,从而确保中心的像素点看起来更像是接近与它更近的像素点,这样图像的连续性得到了保证!

参考:/zhangfuliang123/article/details/76100973

(4) 中值滤波

中值滤波方法是,对待处理的当前像素,选择一个模板,该模板为其邻近的若干个像素组成,对模板的像素由小到大进行排序,再用模板的中值来替代原像素的值的方法。其思想是用像素点邻域灰度值的中值代替该像素的灰度值,有利于去除脉冲噪声及椒盐噪声,中值滤波花费时间比均值滤波久,噪声消除能力更强,不利于去除高斯噪声

5)双边滤波

双边滤波是一种可以保边去噪的滤波器,与高斯滤波器相比,对于图像的边缘信息能过更好的保存。其原理为一个与空间距离相关的高斯函数与一个灰度距离相关的高斯函数相乘,优化后的权系数再与图像信息作卷积运算,这样就能在滤波的同时考虑到图像信息中的图像边缘信息,使图像在正常Gauss滤波后很模糊的边缘信息得以保持清晰,并且图像边缘更加平滑,次方法对于彩色和灰度图像的滤波均适用,很强的实用性。

/Jfuck/article/details/8932978

空间距离:指的是当前点与中心点的欧式距离。空间域高斯函数其数学形式为,其中(xi,yi)为当前点位置,(xc,yc)为中心点的位置,sigma为空间域标准差:

灰度距离:指的是当前点灰度与中心点灰度的差的绝对值。值域高斯函数其数学形式为,其中gray(xi,yi)为当前点灰度值,gray(xc,yc)为中心点灰度值,sigma为值域标准差:

双边滤波器的加权系数是这两部分因子的非线性组合,空间邻近度因子Ws和亮度相似度因子Wr的乘积。前者随着像素点与中心点之间欧几里德距离的增加而减小,后者随着两像素亮度值之差的增大而减小。在图像变化平缓的区域,邻域内像素亮度值相差不大,双边滤波转化为高斯低通滤波器;在图像变化剧烈的区域,滤波器利用边缘点附近亮度值相近的像素点的亮度值平均代替原亮度值。因此,双边滤波器既平滑滤波了图像,又保持了图像的边缘。双边滤波器受3个参数的控制:滤波器半宽N、参数δs和δr。N越大,平滑作用越强;δs和δr分别控制着空间邻近度因子Ws和亮度像似度因子Wr的衰减程度。

高斯滤波没有考虑图像的边缘,会将边缘模糊掉。因为高斯核只考虑了空间分布,没有考虑到像素值的差异。图像的边缘往往是图像灰度剧烈变化的地方

上三图从上到下分别为原图,高斯模糊和双边滤波后的效果图,双边滤波的保边效果还是很明显的。

标准函数

方框滤波void boxFilter(InputArray src, OutputArray dst, int ddepth, Size ksize, Point anchor=Point(-1,-1), bool normalize=true, int borderType=BORDER_DEFAULT )

均值滤波void blur(Input src, OutputArray dst, Size ksize, Point anchor = Point(-1,-1), int borderType = BORDER_DEFAULT)

高斯滤波void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY = 0, int borderType = BORDER_DEFAULT)

void medianBlur(InputArray src, OutputArray dst, int ksize)双边滤波

中值滤波void bilateralFilter(InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace, int borderType = BORDER_DEFAULT)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。