前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【阅读笔记】《基于区间梯度的联合双边滤波图像纹理去除方法》

【阅读笔记】《基于区间梯度的联合双边滤波图像纹理去除方法》

作者头像
AomanHao
发布2024-12-30 09:17:49
发布2024-12-30 09:17:49
10400
代码可运行
举报
运行总次数:0
代码可运行

一、联合双边滤波背景

联合双边滤波(Joint Bilateral Filter, JBF)是一种图像处理技术,它在传统的双边滤波(Bilateral Filter, BF)基础上进行了改进,通过引入一个引导图(guidance image)来优化滤波过程。

双边滤波因其在平滑图像的同时能够保持边缘信息而受到广泛关注。然而,双边滤波在某些情况下会出现不稳定性,尤其是在边缘附近。为了解决这一问题,联合双边滤波被提出,它通过引入一个引导图来改进滤波过程。

二、 原理

联合双边滤波的基本原理与双边滤波相似,都是基于高斯函数来计算像素的权重。不同之处在于,联合双边滤波在计算权重时,不仅考虑了空间距离和像素值差异,还引入了引导图的信息。具体来说,联合双边滤波的公式如下:

Y(i) = \frac{1}{W_{i}}\sum_{j\in{S}}G_{\sigma d}(i,j)G_{\sigma r}(\hat i,\hat j)X_{j}

其中,X 是待处理的图像,\hat X是引导图,i,j 分别是图像中的像素位置,W_i 是归一化系数。

其中,\sigma d\sigma r是高斯参数,G_{\sigma d}G_{\sigma r}分别表示空间函数和灰度相似度函数,表示为

G_{\sigma d}=e^{-\frac{1}{2}(\frac{d(i,j)}{\sigma d})^2}
G_{\sigma r}=e^{-\frac{1}{2}(\frac{X_i-X_j}{\sigma r})^2}

其中,d(i,j)是i,j像素之间的欧氏距离

与双边的区别在于,联合滤波算法的引导图是低频图像,论文中是用高斯滤波,也可以用引导滤波等算法结果,看你的选择。

3. 实现

在OpenCV的contrib模块中,提供了联合双边滤波的API:jointBilateralFilter。该函数的参数包括引导图、待滤波的图像、滤波后的图像、像素邻域直径、灰度域sigma和空间域sigma。以下是Python语言的实现示例:

代码语言:javascript
代码运行次数:0
复制
import cv2 as cv
src = cv.imread("image.jpg", cv.IMREAD_GRAYSCALE)  # 待滤波的图像
joint = cv.imread("joint_image.jpg", cv.IMREAD_GRAYSCALE)  # 引导图
dst = cv.ximgproc.jointBilateralFilter(joint, src, 9, 75, 75)  # 联合双边滤波
cv.imshow("Filtered Image", dst)
cv.waitKey(0)
cv.destroyAllWindows()

4. 应用效果

联合双边滤波在图像去噪的同时,能够更好地保留图像的边缘和纹理信息。相比于传统的双边滤波,联合双边滤波在处理含有复杂纹理的图像时,能够获得更清晰的边缘和更平滑的背景。下图依次是添加标准差为0.001的高斯滤波图、双边滤波处理图、联合滤波处理图

5. 结论

联合双边滤波作为一种有效的图像去噪技术,通过引入引导图信息,提高了滤波的稳定性和效果。它在图像处理领域具有广泛的应用前景,尤其是在需要保持图像边缘信息的场景中。

参考文献

《基于区间梯度的联合双边滤波图像纹理去除方法》


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、联合双边滤波背景
  • 二、 原理
  • 3. 实现
  • 4. 应用效果
  • 5. 结论
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档