读书人

【OpenCV】邻域滤波:方框、高斯、中值

发布时间: 2012-08-07 14:54:48 作者: rapoo

【OpenCV】邻域滤波:方框、高斯、中值、双边滤波
邻域滤波(卷积)
邻域算子值利用给定像素周围像素的值决定此像素的最终输出。如图左边图像与中间图像卷积禅城右边图像。目标图像中绿色的像素由原图像中蓝色标记的像素计算得到。

【OpenCV】邻域滤波:方框、高斯、中值、双方滤波

通用线性邻域滤波是一种常用的邻域算子,输入像素加权得到输出像素:

【OpenCV】邻域滤波:方框、高斯、中值、双方滤波

其中权重核 【OpenCV】邻域滤波:方框、高斯、中值、双方滤波 为“滤波系数”。上面的式子可以简记为:

【OpenCV】邻域滤波:方框、高斯、中值、双方滤波


【方框滤波】最简单的线性滤波是移动平均或方框滤波,用 【OpenCV】邻域滤波:方框、高斯、中值、双方滤波窗口中的像素值平均后输出,核函数为:
【OpenCV】邻域滤波:方框、高斯、中值、双方滤波
其实等价于图像与全部元素值为1的核函数进行卷积再进行尺度缩放。
代码OpenCV中的 blur函数是进行标准方框滤波:
其中,【OpenCV】邻域滤波:方框、高斯、中值、双方滤波
  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波


【高斯滤波】高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器。它对去除服从正态分布的噪声很有效。
常用的零均值离散高斯滤波器函数:
【OpenCV】邻域滤波:方框、高斯、中值、双方滤波
2D图像中表示为:【OpenCV】邻域滤波:方框、高斯、中值、双方滤波
代码
  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波


非线性滤波


线性滤波易于构造,且易于从频率响应的角度分析,但如果噪声是散粒噪声而非高斯噪声时线性滤波不能去除噪声。如图像突然出现很大的值,线性滤波只是转换为柔和但仍可见的散粒。这时需要非线性滤波。

简单的非线性滤波有 中值滤波【OpenCV】邻域滤波:方框、高斯、中值、双方滤波-截尾均值滤波定义域滤波 值域滤波

【OpenCV】邻域滤波:方框、高斯、中值、双方滤波

中值滤波选择每个邻域像素的中值输出; 【OpenCV】邻域滤波:方框、高斯、中值、双方滤波-截尾均值滤波是指去掉百分率为【OpenCV】邻域滤波:方框、高斯、中值、双方滤波 的最小值和最大值;定义域滤波中沿着边界的数字是像素的距离;值域就是去掉值域外的像素值。

中值滤波代码
medianBlur ( src, dst, i );

中值滤波实验下图是对一幅图像分别用3*3,5*5,7*7,9*9(这里必须是奇数)标准方框滤波后的图像:
【OpenCV】邻域滤波:方框、高斯、中值、双方滤波 【OpenCV】邻域滤波:方框、高斯、中值、双方滤波 【OpenCV】邻域滤波:方框、高斯、中值、双方滤波 【OpenCV】邻域滤波:方框、高斯、中值、双方滤波


【双边滤波】双边滤波的思想是抑制与中心像素值差别太大的像素,输出像素值依赖于邻域像素值的加权合:

【OpenCV】邻域滤波:方框、高斯、中值、双方滤波

权重系数 取决于定义域核

【OpenCV】邻域滤波:方框、高斯、中值、双方滤波和依赖于数据的值域核
【OpenCV】邻域滤波:方框、高斯、中值、双方滤波的乘积。相乘后会产生依赖于数据的双边权重函数:

【OpenCV】邻域滤波:方框、高斯、中值、双方滤波

双边滤波源码

  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波  【OpenCV】邻域滤波:方框、高斯、中值、双方滤波 

参考文献:

Richard Szeliski 《Computer Vision: Algorithms and Applications》
http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html
《The OpenCV Tutorials》 Release 2.4.2
《The OpenCV Reference Manual 》 Release 2.4.2


转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7785365



2楼kobe2488昨天 19:37
写得挺好的啊,刚学数字图像处理?
Re: xiaowei_cqu昨天 20:11
回复kobe2488嗯
1楼yingkee昨天 12:26
好学生一个啊,怀念研究生时光
Re: xiaowei_cqu昨天 16:26
回复yingkee前辈~

读书人网 >编程

热点推荐