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

示例代码

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

相关推荐
Alter12302 小时前
从“力大砖飞”到“拟态共生”,新华三定义AI基础设施的系统级进化
大数据·运维·人工智能
哔哩哔哩技术2 小时前
bili-fe-workflow —商业化智能开发工作流实践
人工智能
王木风2 小时前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js
IT_陈寒2 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
Java技术小馆2 小时前
我用 30 分钟构建了 100% 数据主权的私有化健康库
人工智能
tq10863 小时前
认知连续性与组织墙的崩塌:AI原生时代的架构重构
人工智能·架构
Phodal3 小时前
AI 解决繁杂任务:从 /goal 到长时间异步 Agent 运行
人工智能
tedcloud1233 小时前
ppt-master部署教程:快速搭建智能演示文稿系统
服务器·人工智能·系统架构·游戏引擎·powerpoint
闵孚龙3 小时前
Claude Code 工具提示词全拆解:AI Agent、Prompt Engineering、工具调用、上下文工程、自动化编程的底层逻辑
人工智能·自动化·prompt
白鲸开源3 小时前
杀疯了!SeaTunnel AI CLI 解锁数据集成新玩法
大数据·人工智能·github