问题标签 [disparity-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3425 浏览

c++ - StereoBm Opencv 函数给出错误“无法定义抽象类的对象”

当我初始化 StereoBM 对象时,出现错误“无法定义抽象类的对象”。我检查了 calib3d.hpp,发现 StereoBM 是一个抽象类。请为我提供一个解决方案,如何在 StereoBM 类中定义所有这些功能

0 投票
1 回答
564 浏览

computer-vision - 使用视差图查找 Z 坐标

我找到了两个立体图像的视差图。现在我必须编写一个 OpenGL 代码来可视化它以进行 3D 重建。

OpenGL 具有函数 vertex3f() ,其中提到了三个坐标。

二维是图像上的点。

那么如何z使用视差图找到维度呢?

请就此提出一些建议。

0 投票
2 回答
21522 浏览

opencv - opencv中reprojectImageTo3D函数的Q矩阵

我正在 opencv 中做一个项目,以使用立体校准检测盲人路径中的障碍物。我已经正确计算了视差图。现在要找到障碍物与相机的距离,我想要它的 3D 坐标 [X,Y,Z] ,我猜它可以通过 reprojectImageTo3D() 找到,但我没有在这个函数中使用的 Q 矩阵,因为我从 stereoRectify() 获得的 Q 矩阵即将变为空,可能是因为我使用了预校准的图像。虽然我确实有我的相机的内在和外在参数。所以我的问题是,如果我知道焦距、基线和关于我的相机的所有其他信息,我如何手动创建 Q 矩阵以直接在函数 reprojectImageTo3D() 中使用?Q矩阵的基本格式是什么?

0 投票
1 回答
17618 浏览

opencv - 立体视差图生成

我正在研究 KITTI 数据集,我正在拍摄 2 张​​图像并找到获得 3D 点云的视差。我面临的问题是我无法获得好的视差图。大部分视差值小于 0.1 . 视差值介于 0 到 1 之间(我需要缩放它们吗)。我的音响的参数如下

正确的图像 左图 视差图

0 投票
1 回答
1495 浏览

opencv - OpenCV StereoSGBM 给出了非常糟糕的视差图

这是我的校准代码:

这是我的具有不同参数的视差图代码:

我是 OpenCV 和图像处理的新手,我做错了什么?

0 投票
3 回答
2505 浏览

matlab - 从具有基本和基本矩阵的校准立体相机中找到一个点的真实世界坐标

我有一个立体相机,上面有两个我在 Matlab 中使用的网络摄像头。我校准了相机,并得到了stereoParams。

然后,我希望用户能够选择图片中的一个点,并获得图像中真实世界的点位置。我知道为此我需要基线、焦距和像素差异。我有像素差异,但我如何获得基线和焦距?可以从 stereoParams 计算基线吗?

0 投票
1 回答
1983 浏览

opencv - OpenCV:颜色视差图

我的问题是如何像这个页面一样为视差图着色:http: //vision.middlebury.edu/stereo/data/scenes2014/

提前感谢您的任何建议。

0 投票
2 回答
1543 浏览

opencv - 如何从视差图中提取 v 视差图

我是opencv的新手,我正在尝试运行一些代码..我需要从视差图中获取v-视差图。我正在使用两个校正图像来获得立体匹配,然后是密集视差图.我得到了视差图,当我试图在 v-disparity 上对其进行转换时,我什么也没有出现。我指的是 Raphael Labayrade、Didier Aubert、Jean-Philippe Tarel 在他们的文章 Real Time 中提出的算法通过“V-disparity”表示在非平坦道路几何立体视觉中的障碍物检测。
听到是我的代码:

0 投票
1 回答
344 浏览

matlab - 在matlab中选择校正图像的初始种子

亲爱的朋友们,我目前正在研究一种视差算法,它只访问一小部分视差空间,以找到一个半密集的视差图。它的工作原理是从一小组对应种子中生长出来。但在此之前,我正在 matlab 中实现标准区域增长算法以了解它是如何工作的。基线增长算法的第一步说:

要求:校正后的图像 Il、Ir、初始对应种子 S、图像相似度阈值。计算属于 S 的每个种子 s 的相似度 simil(s)。

现在我无法理解这一步。首先,我如何从两个校正图像中计算初始种子点。我应该在matlab中使用SIFT算法还是有更好的方法来做到这一点????任何人都可以给我一些关于基于区域增长的视差计算算法如何工作以及它是否比SAD或SSD更好的想法。

0 投票
1 回答
4694 浏览

opencv - 获取深度图

我无法从视差中获得正常的深度图。这是我的代码:

我的图像是:

在此处输入图像描述 在此处输入图像描述

视差图:

在此处输入图像描述

我得到这样的点云: 在此处输入图像描述

Q 等于:[ 1., 0., 0., -3.2883545303344727e+02, 0., 1., 0., -2.3697290992736816e+02, 0., 0., 0., 5.4497170185417110e+02, 0 ., 0., -1.4446083962336606e-02, 0.]

我尝试了很多其他的东西。我尝试了不同的图像,但没有人能够获得正常的深度图。

我究竟做错了什么?我应该使用 reprojectImageTo3D 还是使用其他方法来代替它?可视化深度图的最佳方法是什么?(我试过 point_cloud 库)或者你能给我提供数据集和校准信息的工作示例,我可以运行它并获取深度图。或者我如何从 Middlebury 立体数据库 ( http://vision.middlebury.edu/stereo/data/ )获取 depth_map ,我认为没有足够的校准信息。

编辑:现在我得到像这样的东西: 在此处输入图像描述

当然更好,但仍然不正常。

Edited2:我试过你说的:

我通过 cv::minMaxIdx(...) 行得到这个结果: 在此处输入图像描述

当我评论这一行时: 在此处输入图像描述

Ps:另外请你告诉我如何仅知道基线和焦距以像素为单位计算深度。