在OpenCV里实现双边滤波

前面学习了高斯平滑、均值平滑,在一些图像处理里非常有效果,但是它在去除噪声同时,也把图像的边缘进行模糊。现在就得考虑有没有这样方法,既可以平滑图像,又可以保留图像边缘的信息。我们来回顾一下前面使用的高斯平滑,其实是构造一个正态分布的矩阵,以中心点像素为主,周边距离远的像素为次,这样是按距离进行加权平滑,因此距离中心点近的像素权值越大,距离远的像素权值越小。现在要增加一个领域里像素值的考虑,与中心点的像素值差别,因此在每一个像素点计算卷积时,都需要重新计算相乘的卷积核。与高斯平滑相比,高斯平滑是一个固定的卷积核,而双边滤波是一个动态的卷积核,这个卷积核根据每个像素点的像素值进行计算。由此可见双边滤波比高斯平滑要多计算一步,速度上要比高斯平滑要慢得多。其原理大体如下图所示:

左边是输入图像,中间是高斯卷积核与像素值权重核进行对应位置相乘(点乘),从而构造了一个新的卷积核,经过这个卷积核处理后输出右边的图片。

其数学的公式如下:

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值