OPenCV CUDA模块立体匹配------对立体匹配生成的视差图进行双边滤波处理类cv::cuda::DisparityBilateralFilter

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::cuda::DisparityBilateralFilter 是 OpenCV CUDA 模块中的一个类,用于对立体匹配生成的视差图进行双边滤波处理。这种滤波方法可以在保留边缘信息的同时平滑噪声,从而提高视差图的质量。

创建方法

静态函数:create()

cpp 复制代码
static Ptr<cv::cuda::DisparityBilateralFilter> cv::cuda::DisparityBilateralFilter::create(int ndisp = 16);

参数说明:

参数名 类型 默认值 描述
ndisp int 16 视差范围的最大值,通常与 StereoBMStereoSGBM 中设置的 numDisparities 相同

主要成员函数

函数名 返回类型 描述
filter() void 对输入的视差图应用双边滤波
getEdgeThreshold() float 获取边缘阈值
setEdgeThreshold(float) void 设置边缘阈值
getMaxDiscThreshold() float 获取最大不连续性阈值
setMaxDiscThreshold(float) void 设置最大不连续性阈值
getSigmaRange() float 获取颜色空间标准差(range sigma)
setSigmaRange(float) void 设置颜色空间标准差
getSigmaSpace() float 获取坐标空间标准差(spatial sigma)
setSigmaSpace(float) void 设置坐标空间标准差

filter() 函数原型

cpp 复制代码
void cv::cuda::DisparityBilateralFilter::filter(
    InputArray disparity,         // 输入的视差图(CV_8UC1 或 CV_16SC1)
    InputArray image,             // 原始图像(用于边缘感知滤波),CV_8UC1 或 CV_8UC3
    OutputArray filtered_disparity, // 输出滤波后的视差图
    Stream& stream = Stream::Null()
);

参数说明:

参数名 类型 描述
disparity InputArray 输入视差图(单通道,CV_8UC1 或 CV_16SC1)
image InputArray 原始图像(通常是左图),用于指导滤波过程
filtered_disparity OutputArray 输出滤波后的视差图
stream Stream& 可选 CUDA 流,默认为 Stream::Null()

示例代码

待添加,没写出来成功的。

相关推荐
不要生病了6 小时前
MinD-Vis:用稀疏掩码预训练和双条件扩散从 fMRI 重建视觉图像
人工智能·计算机视觉·脑机接口
天远API6 小时前
零信任架构实战:基于天远全能消金报告构建自动化消费分期网关
运维·人工智能·架构·自动化
weifont6 小时前
已为你安排相关自动化工具,请查收
人工智能
luckystar513~6 小时前
每日AI资讯(2026-09-13)
人工智能·ai·ai资讯·每日资讯
syounger6 小时前
SAP认证走过30年:考试开始允许使用AI,证书价值正在被重新定义
人工智能
YOLO数据集集合7 小时前
洪水场景建筑与植被检测数据集 | 洪水检测 建筑识别 植被监测 灾情评估 目标检测9073期
人工智能·目标检测·机器学习·计算机视觉·目标跟踪·无人机视角·灾害救援
人工智能AI技术7 小时前
AI Agent 接入MCP:不用重复造轮子,外部工具一键接入
人工智能
词却7 小时前
OpenCV学习:dlib 人脸检测
人工智能·opencv·学习
锋行天下7 小时前
LangGraph 基础打字效果
人工智能