前几篇帖子提到的均值滤波、中值滤波和高斯滤波,都属于各向同性滤波,它们对待噪声和图像的边缘信息都采取一样的态度,结果,噪声被磨平的同时,图像中具有重要地位的边缘、纹理和细节也同时被抹平了,这是我们所不希望看到的。为了解决这个问题,人们陆续提出了一些算法来把图像边缘和噪声区别对待,比如双边滤波和导向滤波,本文介绍如何使用opencv做图像的双边滤波。
关于双边滤波的原理,大家可以参考网页:http://blog.163.com/yuyang_tech/blog/static/21605008320130242441886/(博主2018-11-15 14:09:49注:因163博客已经关闭,所以这篇文章大家看不到了,抱歉)
OpenCV提供了函数bilateralFilter来进行双边滤波,函数原型如下:
C++: void bilateralFilter(InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace, int borderType=BORDER_DEFAULT )
参数意义如下:
src:输入图像
dst:输出图像
d:滤波邻域直径。如果这个值设为负数,那么这个值由参数sigmaColor计算出。
0028-用OpenCV的函数bilateralFilter做双边滤波
使用OpenCV进行双边滤波
最新推荐文章于 2025-09-06 16:22:14 发布
本文介绍了如何利用OpenCV的bilateralFilter函数进行双边滤波,以避免均值、中值和高斯滤波对图像边缘信息的抹平。双边滤波能够区分图像边缘和噪声,参数包括滤波邻域直径、色彩空间参数和距离空间参数。

最低0.47元/天 解锁文章
3787

被折叠的 条评论
为什么被折叠?



