OpenCV学习笔记(六):非线性滤波-中值、双边:medianBlur(),bilateralFilter()

本文是OpenCV学习笔记的第六部分,主要探讨非线性滤波中的中值滤波和双边滤波。中值滤波通过邻域灰度值的中值代替像素点值,有效去除噪声但计算成本较高。双边滤波则结合空域和灰度相似性保持边缘,适合图像去噪但对高频噪声处理有限。文中提供了代码示例和结果展示。
摘要由CSDN通过智能技术生成

OpenCV学习笔记(六):非线性滤波-中值、双边:medianBlur(),bilateralFilter()

1、中值滤波(Median filter)
是一种典型的非线性滤波技术,基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在去除脉冲噪声、斑点噪声(speckle noise)和椒盐噪声(salt-and-pepper noise)的同时又能保留图像边缘细节。
优点:
中值滤波在一定的条件下可以克服常见线性滤波器带来的图像细节模糊,而且对
滤除脉冲干扰及图像扫描噪声
非常有效,也常用于保护边缘信息, 保存边缘的特性使它在不希望出现边缘模糊的场合也很有用,是非常经典的平滑噪声处理方法。
缺点:
1)中值滤波花费的时间是均值滤波的5倍以上
2)对一些细节多,特别是线、尖顶等细节多的图像不宜采用

2、双边滤波(Bilateral filter)
是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。
优点:
双边滤波器的好处是可以做边缘保存(edge preserving),双边滤波器顾名思义比高斯滤波多了一个高斯方差sigma-d,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。
缺点:
但是由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净的滤掉,只能够对于低频信息进行较好的滤波。
在双边滤波器中,输出像素的值依赖于邻域像素值的加权值组合,而加权系数w(i,j,k,l)取决于定义域核和值域核的乘积。

代码示例:

#include <opencv2/opencv.hpp>

Mat g_srcImage,g_dstImage1,g_dstImage2,g_dstImage3;	//存储图片的Mat类型

int g_nMedianBlurValue=10;					//中值滤波参数值
int g_nBilateralFilterValue=30;             //双边滤波参数值


using namespace cv;
using 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值