第二十九节高斯双边模糊

高斯双边模糊是一种更高级的图像模糊方法。

  1. 原理

• 它在考虑空间距离(像素位置)的同时,还考虑了像素值的差异(灰度或颜色差异)。传统的高斯模糊(只考虑空间距离)主要是根据像素离中心像素的远近分配权重,而双边模糊在此基础上,对于与中心像素值差异较大的像素,会进一步降低其权重。

• 例如,在处理图像边缘时,边缘一侧的像素和另一侧的像素值差异较大,双边模糊会使这些像素对边缘像素的影响变小,从而在模糊的同时更好地保留边缘细节。

  1. 公式及权重计算(简单理解)

• 它有两个高斯函数来计算权重。一个是空间域高斯函数,和普通高斯模糊类似,用于考虑像素的空间距离。另一个是值域高斯函数,用于考虑像素值的差异。最终的权重是这两个高斯函数计算出的权重的乘积。

• 假设空间域高斯函数计算出的某像素权重为,值域高斯函数计算出的权重为,那么该像素的最终权重。

  1. 应用场景

• 常用于需要保留边缘细节的模糊处理。比如在人像摄影中,当想要模糊背景同时保持人物边缘清晰时,高斯双边模糊是很好的选择。它也用于对图像进行高质量的降噪处理,因为它可以避免在去除噪声的同时模糊掉重要的细节。

API

bilateralFilter(src, dst, d, sigmaColor, sigmaSpace, borderType)。

• src:输入图像,即要进行双边模糊处理的原始图像,可以是彩色图像或者灰度图像。

• dst:输出图像,用来存储双边模糊后的图像。如果不指定,函数会自动创建一个合适的输出图像。

• d:表示在滤波时每个像素邻域的直径。如果这个值为非正数,它会根据sigmaSpace参数自动计算。一般来说,较大的值会使模糊效果更明显,但计算速度可能会变慢。

• sigmaColor:颜色空间滤波器的标准差。这个参数衡量了像素值(如RGB值)之间的差异。较大的值意味着更多的颜色混合,模糊效果更明显。

• sigmaSpace:坐标空间滤波器的标准差。它决定了根据像素位置进行模糊的程度,较大的值会使较远的像素也对中心像素产生较大的影响。

• borderType(可选):用于处理图像边界的像素,和其他滤波函数中的边界类型类似,比如复制边界像素、反射边界像素等。



void QUickdemo::Bifilter_Blur(Mat& image) {

Mat dstImage;

bilateralFilter(image, dstImage, 0, 100, 10);

// 使用 bilateralFilter 函数对输入图像 image 进行双边高斯模糊处理,结果存储在 dstImage 中。
// 第一个参数为输入图像,第二个参数为输出图像,第三个参数为像素邻域直径,这里设置为 0,表示自动计算。
// 第四个参数为颜色空间滤波器的标准差,这里设置为 100,表示颜色差异较大时权重下降较快。
// 第五个参数为坐标空间滤波器的标准差,这里设置为 10,表示根据像素位置进行模糊的程度适中。

imshow("双边高斯模糊", dstImage);

}

相关推荐
阿里云大数据AI技术26 分钟前
DataWorks Data Agent 实战课堂(一):解锁你的7×24h全能“数据搭子”DataWorks AI助理!
大数据·人工智能·agent
得一录34 分钟前
大模型中Temperature的解释
人工智能
Database_Cool_37 分钟前
阿里云RDS主从延迟解决方案_只读实例半同步复制最佳实践
数据库·人工智能
XMan_Liu43 分钟前
AI聊天机器人架构学习
人工智能·架构·机器人
喝拿铁写前端43 分钟前
AI 时代,ESLint 应该怎么做得更好
前端·人工智能·代码规范
派叔1 小时前
老字号数字化转型的困境与路径:一个系统架构视角下的观察
大数据·人工智能·系统架构·产品运营·流量运营
阿里-于怀1 小时前
阿里云刚发布的 AgentLoop 是什么?
人工智能·阿里云·云计算
2601_956319881 小时前
最新AI量化提效,先做可验证的小流程
人工智能·python
朴马丁1 小时前
从制造到智造:国产PLM如何赋能化工新材料企业研发创新
大数据·人工智能·制造·流程行业plm·化工新材料行业
AI棒棒牛1 小时前
YOLO26 全网独家改进创新:ECCV2026 PriorEye 主干网络改进,引入视觉-空间先验门控 Backbone,复杂场景涨点新思路!
人工智能·神经网络·目标检测·yolo26