问题标签 [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 投票
1 回答
485 浏览

c++ - 两个图像的视差图没有得到预期的结果

我最近开始研究 opencv 并在获得所需结果方面面临问题。我不知道我错在哪里。我有两个未校准的图像,必须在没有任何其他支持数据(如相机矩阵)的情况下为它们计算视差图。

左图和右图

校正左右图像

视差图

我认为校正后的图像还可以,问题出在 sgbm 的参数上。有什么方法可以调用它们。

0 投票
1 回答
1251 浏览

c# - 如何测量立体图像中的距离?

我有两张图像(左和右)我想测量图像上的真实距离?当我点击图像时,我会得到点击点到相机的真实距离。

左图:

在此处输入图像描述

右图:

在此处输入图像描述

我已经校准了这两个图像。我想使用 EmguCV 来获取与图像的距离。

这可能吗 ?

0 投票
1 回答
897 浏览

c++ - 用于立体图像和计算视差/深度图的本机库

对于更复杂的项目,我需要计算来自两个图像(来自立体相机)的对象的近似相对距离。实际上这个简洁的教程解释了什么:https ://chrisjmccormick.wordpress.com/2014/01/10/stereo-vision-tutorial-part-i/并得到这样的结果 在此处输入图像描述

认为我不应该为这个项目重新发明轮子,因为速度非常重要(来自两个视频流的实时),我正在为这个任务寻找一个本机库(最好是用 C++ 编写整个项目)。

有人有建议吗?开源将是最好的,但不是强制性的。

非常感谢提前!

0 投票
1 回答
395 浏览

c++ - OpenCV的SGBM算法中的“cliptab”是什么?

我目前正在尝试了解 OpenCV 的 SGBM 视差算法是如何工作的,我知道像素成本计算遵循 Birchfield 和 Tomasi 算法。 http://robotics.stanford.edu/~birch/publications/dissimilarity_pami1998.pdf

我似乎无法弄清楚什么是 clipTab[TAB_SIZE] 以及为什么以这种方式填充。

可以使用此链接找到完整的代码:

https://github.com/opencv/opencv/blob/master/modules/calib3d/src/stereosgbm.cpp

0 投票
1 回答
165 浏览

opencv - 如何检测点云中的动态障碍物

我想在机器人中实现立体视觉。我计算了视差图和点云。现在我想检测场景中的动态障碍物。任何人都可以帮助我吗?此致

0 投票
1 回答
1702 浏览

computer-vision - 计算 2 个摄像机(图像)之间的基线距离

我想从“ http://perso.lcpc.fr/tarel.jean-philippe/syntim/paires/GrRub.html ”估计左右图像之间的深度图。我知道我必须首先使用公式 Z = B * F/d 从视差计算深度 不幸的是,数据集没有提供基线距离 B。你能建议我如何计算这个(如果可能的话)或者我如何计算深度图单独给出数据?

谢谢您的帮助。由于我是 stackoverflow 和计算机视觉的新手,请告诉我是否应该提供更多详细信息。

0 投票
1 回答
240 浏览

matlab - 循环在 MATLAB 中构建虚拟视差图像

根据 Suganuma 等的论文,我正在尝试实现从视差图像到虚拟视差图像的均匀变换。人。“一种使用虚拟视差图像的障碍物提取方法”。在完成论文中描述的矩阵计算之后,我得到了一个全局齐次变换矩阵,它只描述了方向 v 上 -27.7 的平移,这是有道理的。

现在,为了进行这种转换,我在 MATLAB 中实现了一个循环:

现在,问题是我得到的虚拟差异没有任何意义,因为它甚至与 B 中描述的转换不对应,正如我所说:

这些分别是视差和虚拟视差:

视差图: 视差图

虚拟差异: 虚拟差异

我整天都在重新检查,我没有发现错误。

0 投票
0 回答
247 浏览

c++ - 视差图中的搜索范围

在使用 OpenCv stereoSBM 函数从两个立体图像计算视差图时,我们如何设置搜索范围以及它对生成的视差图和深度值有什么影响。

0 投票
1 回答
1842 浏览

c++ - OpenCV 视差图从左侧切开

我正在尝试使用 OpenCV 3.1 在 C++ 中计算视差图。我使用 StereoSGBM 算法,我需要能够识别远距离和非常近的物体。因此我将 MinDisparity 设置为 -16 和 MaxDisparity 160。

相机现在已正确校准,但生成的视差图是从左侧切割的。切割量取决于 MaxDisparity 设置。

我会理解为什么近距离物体会发生这种情况。仅仅是因为一个图像上的像素在第二个图像上不可用。但这不会发生在更远的物体上。在这种情况下,对象在两个相机图像中都是完全可见的,但在结果视差图中不可见。

看这张图片。为什么结果上看不到我的手? 在此处输入图像描述

这个问题有什么解决办法吗?在高 MaxDisparity 设置的情况下计算所有可见区域的视差图?

0 投票
1 回答
806 浏览

opencv - 不准确的实时视差图。

我是立体相机的新手(或者也许是 opencv 的新手)。但是,我需要做我的 FYP,需要立体相机来测量所选对象的距离。

为获得准确的视差图采取了哪些步骤?据我所知,我们需要校准以获得内在和外在参数,不失真,然后对其进行校正,然后只计算视差映射。

我已经完成校准以获得内在和外在价值。然后我试图纠正它,我得到了这个RMS value_and_reprojection_error_value.jpg。问题是,视差映射可接受的值是多少?

之后,我开始使用块匹配进行视差映射。这是我的代码`

} `

我的 BM 参数是:

int PreFilterCap = 31; int PrefilterSize = 21; int SADWindowSize = 33; int MinDisparity = 0; int numberOfDisparities = 48; int TextureThreshold = 29; int UniquenessRatio = 15; int SpeckleWindowSize = 32; int SpeckleRange = 32; int Disp12MaxDiff = 0; 我得到的视差图是:视差

如何获得更好质量的视差映射?谢谢