第二十九节高斯双边模糊

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

  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);

}

相关推荐
ZHOU_WUYI2 小时前
3.langchain中的prompt模板 (few shot examples in chat models)
人工智能·langchain·prompt
如若1232 小时前
主要用于图像的颜色提取、替换以及区域修改
人工智能·opencv·计算机视觉
老艾的AI世界3 小时前
AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)
人工智能·深度学习·神经网络·机器学习·ai·ai翻唱·ai唱歌·ai歌曲
DK221513 小时前
机器学习系列----关联分析
人工智能·机器学习
Robot2513 小时前
Figure 02迎重大升级!!人形机器人独角兽[Figure AI]商业化加速
人工智能·机器人·微信公众平台
浊酒南街4 小时前
Statsmodels之OLS回归
人工智能·数据挖掘·回归
畅联云平台4 小时前
美畅物联丨智能分析,安全管控:视频汇聚平台助力智慧工地建设
人工智能·物联网
加密新世界4 小时前
优化 Solana 程序
人工智能·算法·计算机视觉
hunteritself5 小时前
ChatGPT高级语音模式正在向Web网页端推出!
人工智能·gpt·chatgpt·openai·语音识别
Che_Che_5 小时前
Cross-Inlining Binary Function Similarity Detection
人工智能·网络安全·gnn·二进制相似度检测