【个人笔记】OpenCV4 C++ 快速入门 29课

个人资料,仅供学习使用
修改时间——2022年2月19日 15:02:27
学习课程:OpenCV4 C++ 快速入门视频30讲
视频老师:贾志刚

29 高斯双边模糊

opencv知识点:

  • 高斯双边模糊 - bilateralFilter

本课所解决的问题:

  • 如何理解高斯双边模糊?
  • 如何实现高斯双边模糊?

1.高斯双边模糊

前面我们介绍的图像卷积处理无论是均值还是高斯都是属于模糊卷积,它们都有一个共同的特点就是模糊之后图像的边缘信息不复存在,受到了破坏。

边缘保留滤波算法(EPF)有能力通过卷积处理实现图像模糊的同时对图像边缘不会造成破坏,滤波之后的输出完整的保存了图像整体边缘(轮廓)信息。

最常见的边缘保留滤波算法有以下几种:

  • 高斯双边模糊
  • Meanshift均值迁移模糊
  • 局部均方差模糊
  • opencv中对边缘保留滤波还有一个专门的API

高斯模糊是考虑图像空间位置对权重的影响,但是它没有考虑图像像素分布对图像卷积输出的影响。
双边模糊考虑了像素值分布的影响,对像素值空间分布差异较大的进行保留从而完整的保留了图像的边缘信息。

双边模糊可以去除无关噪声,同时保持较好的边缘信息。
但是,其速度比绝大多数滤波器都慢。

2.高斯双边模糊演示

在opencv中,如果我们想要实现高斯双边模糊,就要用到这样一个API

  • bilateralFilter

具体介绍如下

bilateralFilter
	将双边过滤器应用于图像
		共6个参数
			第1个参数 输入
			第2个参数 输出
			第3个参数 过滤期间使用的每个像素邻域的直径(如为非正数,则根据sigmaSpac计算)
			
			第4个参数 sigmaColor(在颜色空间中的过滤标准差)
		
						sigmaColor一般取值大一点,
						大一点的话根据二维高斯函数计算所得的值越小,越趋近于0,影响越低
			
			第5个参数 sigmaSpace(在坐标空间中的过滤标准差)
			
			第6个参数  图像边缘处理方式
					(超出初学者范围,暂不学习)

演示如下

//函数实现
void bifilter_demo(Mat& image);
//函数定义

void QuickDemo::bifilter_demo(Mat& image) {

	imshow("原图", image);

	Mat dst;
	
	bilateralFilter(image, dst, 0, 100, 10);
	imshow("高斯双边模糊", dst);

}

在这里插入图片描述

本课所用API查阅

bilateralFilter

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啦啦啦大赛第大所

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值