问题标签 [stereo-3d]

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 回答
660 浏览

opencv - 将矩阵 R1 旋转到另一个矩阵,比如 R2

我有两个相机旋转矩阵 R1 和 R2。它们都是根据参考框架计算的。

我的最终目标是使用这两个图像的相应特征执行立体 3D 三角测量。

我的问题,给定两个旋转矩阵 R1 & R2 wrt 一些参考帧,我如何计算代表第一帧和第二帧之间旋转的矩阵“R”?

谢谢

0 投票
0 回答
1152 浏览

image - 立体图像校正和视差:哪些算法?

我试图弄清楚目前允许使用的两种最有效的算法是什么,从使用传统相机创建的一对 L/R 立体图像(因此受到一些核线未对准的影响)开始,生成一对调整后的图像通过查看它们的差异来加上它们的深度信息。

实际上我发现了很多关于这两种方法的论文,比如:

  • “计算立体视觉的校正同形异义词”(张 - 似乎是最好的校正之一)
  • “三步图像校正”(蒙纳斯)
  • “矫正与差异”(Navab 的幻灯片)
  • “基于区域的快速立体匹配算法”(Di Stefano - 似乎有点不准确)
  • “Computing Visual Correspondence with Occlusions via Graph Cuts”(Kolmogorov - 这个产生了一个非常好的视差图,还有遮挡信息,但它有效吗?)
  • “关于图像不连续性的密集视差图估计”(Alvarez - 第一次审查太长了)

任何人都可以给我一些建议以适应这个广泛的主题吗?

我应该首先处理什么样的算法/方法,考虑到我将处理一个非常简单的输入:一对左右图像,没有其他信息,没有更多信息(有些论文是基于额外的、预先采取的、校准的信息)?

说到工作实现,到目前为止我看到的唯一有趣的结果属于这个软件,但仅用于自动校正,而不是差异:http ://stereo.jpn.org/eng/stphmkr/index.html

我尝试了“自动调整”功能,似乎真的很有效。可惜没有源代码...

0 投票
1 回答
1033 浏览

c++ - 如何从外部参数中获取立体图像中的点

我已经校准了一对相机,知道它们的内在和外在参数。知道他们都在看平面,如果我在其中一个图像中定义了一些点,我怎样才能在另一张图像中得到这些点?

相机彼此非常接近,因此假设没有任何遮挡,两者都可以看到同一个物体。

是否有一个 openCV 函数或一组函数来执行此操作?我的观点是世界上的 Z=0。

基本上:

0 投票
1 回答
3061 浏览

c++ - opencv 给出 cvFindStereoCorrespondenceBM 异常

我写了一个代码来从“左”和“右”两个图像中找到视差图;并将地图保存为“立体”。代码对我来说似乎没问题,但不知何故我遇到了异常:

在终端窗口上:

OpenCV 错误:未知函数中的错误参数(未知数组类型),文件......\src\opencv\modules\core\src\matrix.cpp,第 698 行

代码是

我正在使用 VS Ultimate 2012、Windows 8、OpenCV 2.4.4。请指导我如何解决此异常。

0 投票
1 回答
3213 浏览

algorithm - 来自两个不同图像的点匹配算法

我正在寻找一种方法或算法,它可以让我识别和配对来自两个不同图像的点集,以达到立体视觉的目的。 图片

附图展示了我目前所拥有的:2 个相机在 Y 轴上对齐并在 X 轴上略微偏移,看着一组点。我能够跟踪并获取两个相机图像(IMG0 和 IMG1)上每个点的 2D 位置。

因此,我有两个二维坐标列表:

现在,为了进行三角测量以获得每个点的 3D 位置,我需要知道图像 IMG1 上的哪个点对应于 IMG0 上的哪个点。两台相机都看到完全相同的一组点,具有相同的整体形状,但显然,由于轻微的变形和相机在水平方向上的偏移,二维坐标在图像和另一张图像之间不匹配。

理想情况下,我正在寻找的点匹配算法会产生一个列表,例如:

只要我确定每个点都与第二张图像中的正确点配对,列表的顺序并不重要。

我一直在看几篇介绍立体映射算法的论文,但我没有发现任何与我的问题相关的内容,因为大多数算法都基于重图像特征识别,这不适合我想要快速处理真实所有内容的情况-时间。我似乎找到的最接近的解决方案是这里提出的点匹配算法,但这对我的问题来说似乎太重了。

任何帮助将不胜感激。

0 投票
1 回答
231 浏览

camera - 用于实际应用的要计算或先验已知的基本矩阵

如果您要设计立体视觉算法的真实世界应用程序,比如说无人机或航天器,它从两个图像计算高程图,是先验已知的基本矩阵还是我必须与视差图?

如果可以先验获得基本矩阵,那么校准矩阵和投影矩阵的知识是否足以计算矩阵?

0 投票
1 回答
598 浏览

computer-vision - 使用立体视觉的 3D 重建 - 理论

0 投票
2 回答
2507 浏览

android - 使用 OpenCV4Android 无法同时使用 Evo 4G 的两个摄像头

我打算通过从 Evo 3D 的两个后置摄像头拍摄两张照片来计算视差图。但是,我只能使用一台相机。我尝试了不同的索引。

指数

  • 0 给我左摄像头(后置摄像头之一)
  • 1 给我前置摄像头
  • -1 给了我左摄像头(后置摄像头之一)。

我曾经使用-1索引得到其他相机,但它不再工作了。我正在使用CameraBridgeViewBase.

我在 android-opencv 的 Google 小组上看到人们已经成功使用了 Evo 3D 手机的两个摄像头。我想知道怎么做?还有其他指标吗?还是有其他方法可以使用它。

PS 原生相机不工作。(安卓 4.0.3)。

0 投票
0 回答
829 浏览

stereo-3d - Opencv打开3d立体视频文件并输出显示

有没有人致力于使用 opencv 从 3d 立体视频中提取数据?(例如 3d 蓝光)。从一些文档中,它指出 .avi 是 opencv 上唯一支持的视频文件格式。如果你在那里或者你知道,你介意给我一个教程如何做到这一点。(例如,3d 立体视频的一帧应该是 2 个视图加上一个深度图的图像?或者 3d 立体视频的一帧是 2 个视图和一些深度图的 2 个图像?)如何读取信息?

另一个问题是,opencv 中是否有任何 API 可以控制显卡端口的输出?我的意思是,如果我有一个带有两个 DVI 端口的显卡,那么连接到 A-DVI 的显示器是否可以显示 3d 立体视频的左侧图像,而 B-DVI 显示右侧图像。

0 投票
2 回答
962 浏览

image - 使用视差图找到对应的像素

我有一对立体图像及其地面实况差异。视差图中的灰度告诉我物体有多远。我如何使用这个灰度级来找到一个像素的对应像素?

我确信灰度级不是沿 x 轴的位移,因为左图 (50, 4) 处的地面实况视差图中的一个像素的视差值为 70(这不能沿 x 轴位移右侧图像中的相应像素,因为坐标将是 (-20, 4) ,这是无效的!!)

我从米德尔伯里数据集中获得了我的图像和基本事实

如何转换这些值以找到其他图像中相应像素的位置?

PS:图像运动是纯水平的