第二十九节高斯双边模糊

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

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

}

相关推荐
阿坡RPA7 小时前
手搓MCP客户端&服务端:从零到实战极速了解MCP是什么?
人工智能·aigc
用户27784491049937 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
机器之心8 小时前
刚刚,DeepSeek公布推理时Scaling新论文,R2要来了?
人工智能
算AI10 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
凯子坚持 c10 小时前
基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
人工智能·paddlepaddle
你觉得20511 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
8K超高清11 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
hyshhhh11 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
薛定谔的猫-菜鸟程序员11 小时前
零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
人工智能·神经网络·dnn
币之互联万物12 小时前
2025 AI智能数字农业研讨会在苏州启幕,科技助农与数据兴业成焦点
人工智能·科技