问题标签 [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.
opencv - 将矩阵 R1 旋转到另一个矩阵,比如 R2
我有两个相机旋转矩阵 R1 和 R2。它们都是根据参考框架计算的。
我的最终目标是使用这两个图像的相应特征执行立体 3D 三角测量。
我的问题,给定两个旋转矩阵 R1 & R2 wrt 一些参考帧,我如何计算代表第一帧和第二帧之间旋转的矩阵“R”?
谢谢
image - 立体图像校正和视差:哪些算法?
我试图弄清楚目前允许使用的两种最有效的算法是什么,从使用传统相机创建的一对 L/R 立体图像(因此受到一些核线未对准的影响)开始,生成一对调整后的图像通过查看它们的差异来加上它们的深度信息。
实际上我发现了很多关于这两种方法的论文,比如:
- “计算立体视觉的校正同形异义词”(张 - 似乎是最好的校正之一)
- “三步图像校正”(蒙纳斯)
- “矫正与差异”(Navab 的幻灯片)
- “基于区域的快速立体匹配算法”(Di Stefano - 似乎有点不准确)
- “Computing Visual Correspondence with Occlusions via Graph Cuts”(Kolmogorov - 这个产生了一个非常好的视差图,还有遮挡信息,但它有效吗?)
- “关于图像不连续性的密集视差图估计”(Alvarez - 第一次审查太长了)
任何人都可以给我一些建议以适应这个广泛的主题吗?
我应该首先处理什么样的算法/方法,考虑到我将处理一个非常简单的输入:一对左右图像,没有其他信息,没有更多信息(有些论文是基于额外的、预先采取的、校准的信息)?
说到工作实现,到目前为止我看到的唯一有趣的结果属于这个软件,但仅用于自动校正,而不是差异:http ://stereo.jpn.org/eng/stphmkr/index.html
我尝试了“自动调整”功能,似乎真的很有效。可惜没有源代码...
c++ - 如何从外部参数中获取立体图像中的点
我已经校准了一对相机,知道它们的内在和外在参数。知道他们都在看平面,如果我在其中一个图像中定义了一些点,我怎样才能在另一张图像中得到这些点?
相机彼此非常接近,因此假设没有任何遮挡,两者都可以看到同一个物体。
是否有一个 openCV 函数或一组函数来执行此操作?我的观点是世界上的 Z=0。
基本上:
c++ - opencv 给出 cvFindStereoCorrespondenceBM 异常
我写了一个代码来从“左”和“右”两个图像中找到视差图;并将地图保存为“立体”。代码对我来说似乎没问题,但不知何故我遇到了异常:
在终端窗口上:
OpenCV 错误:未知函数中的错误参数(未知数组类型),文件......\src\opencv\modules\core\src\matrix.cpp,第 698 行
代码是
我正在使用 VS Ultimate 2012、Windows 8、OpenCV 2.4.4。请指导我如何解决此异常。
algorithm - 来自两个不同图像的点匹配算法
我正在寻找一种方法或算法,它可以让我识别和配对来自两个不同图像的点集,以达到立体视觉的目的。
附图展示了我目前所拥有的:2 个相机在 Y 轴上对齐并在 X 轴上略微偏移,看着一组点。我能够跟踪并获取两个相机图像(IMG0 和 IMG1)上每个点的 2D 位置。
因此,我有两个二维坐标列表:
现在,为了进行三角测量以获得每个点的 3D 位置,我需要知道图像 IMG1 上的哪个点对应于 IMG0 上的哪个点。两台相机都看到完全相同的一组点,具有相同的整体形状,但显然,由于轻微的变形和相机在水平方向上的偏移,二维坐标在图像和另一张图像之间不匹配。
理想情况下,我正在寻找的点匹配算法会产生一个列表,例如:
只要我确定每个点都与第二张图像中的正确点配对,列表的顺序并不重要。
我一直在看几篇介绍立体映射算法的论文,但我没有发现任何与我的问题相关的内容,因为大多数算法都基于重图像特征识别,这不适合我想要快速处理真实所有内容的情况-时间。我似乎找到的最接近的解决方案是这里提出的点匹配算法,但这对我的问题来说似乎太重了。
任何帮助将不胜感激。
camera - 用于实际应用的要计算或先验已知的基本矩阵
如果您要设计立体视觉算法的真实世界应用程序,比如说无人机或航天器,它从两个图像计算高程图,是先验已知的基本矩阵还是我必须与视差图?
如果可以先验获得基本矩阵,那么校准矩阵和投影矩阵的知识是否足以计算矩阵?
android - 使用 OpenCV4Android 无法同时使用 Evo 4G 的两个摄像头
我打算通过从 Evo 3D 的两个后置摄像头拍摄两张照片来计算视差图。但是,我只能使用一台相机。我尝试了不同的索引。
指数
- 0 给我左摄像头(后置摄像头之一)
- 1 给我前置摄像头
- -1 给了我左摄像头(后置摄像头之一)。
我曾经使用-1索引得到其他相机,但它不再工作了。我正在使用CameraBridgeViewBase
.
我在 android-opencv 的 Google 小组上看到人们已经成功使用了 Evo 3D 手机的两个摄像头。我想知道怎么做?还有其他指标吗?还是有其他方法可以使用它。
PS 原生相机不工作。(安卓 4.0.3)。
stereo-3d - Opencv打开3d立体视频文件并输出显示
有没有人致力于使用 opencv 从 3d 立体视频中提取数据?(例如 3d 蓝光)。从一些文档中,它指出 .avi 是 opencv 上唯一支持的视频文件格式。如果你在那里或者你知道,你介意给我一个教程如何做到这一点。(例如,3d 立体视频的一帧应该是 2 个视图加上一个深度图的图像?或者 3d 立体视频的一帧是 2 个视图和一些深度图的 2 个图像?)如何读取信息?
另一个问题是,opencv 中是否有任何 API 可以控制显卡端口的输出?我的意思是,如果我有一个带有两个 DVI 端口的显卡,那么连接到 A-DVI 的显示器是否可以显示 3d 立体视频的左侧图像,而 B-DVI 显示右侧图像。
image - 使用视差图找到对应的像素
我有一对立体图像及其地面实况差异。视差图中的灰度告诉我物体有多远。我如何使用这个灰度级来找到一个像素的对应像素?
我确信灰度级不是沿 x 轴的位移,因为左图 (50, 4) 处的地面实况视差图中的一个像素的视差值为 70(这不能沿 x 轴位移右侧图像中的相应像素,因为坐标将是 (-20, 4) ,这是无效的!!)
我从米德尔伯里数据集中获得了我的图像和基本事实
如何转换这些值以找到其他图像中相应像素的位置?
PS:图像运动是纯水平的