问题标签 [fundamental-matrix]

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 投票
0 回答
25 浏览

computer-vision - 为什么用基本矩阵检查对应点时点的顺序很重要?

为什么在计算基本矩阵方程的点之间的对应关系时点的顺序很重要?

在这里我不明白为什么切换点不会产生相同的答案

我的猜测是,这与通常您将第一个相机设置为规范相机 [I 0] 并且这是假设图像点 x 的事实有关,但大多数参考文献没有提到第一个相机 P 有为 [I 0]。

0 投票
0 回答
50 浏览

python - 从基本矩阵估计两个未校准相机之间的相对旋转

我有两个从不同位置拍摄的同一物体的图像和一个未校准的相机。我想将这些图像对视为立体对。然后我可以估计一个基本矩阵,而不需要任何场景知识。我想知道相机两个相对于第一个相机之间的旋转角度。

  1. pts1 和 pts2 是从已知的特征描述符方法之一获得的匹配关键点数组。RANSAC 用于排除异常值。

F, 掩码 = cv2.findFundamentalMat(pts1,pts2,v2.FM_RANSAC, 3,0.99)

  1. p1fNew 和 p2fNew - 关键点的内点 使用 stereoRectifyUncalibrated 方法,我可以获得两个矩阵来将图像校正到同一平面。retBool, H1, H2 = cv2.stereoRectifyUncalibrated(p1fNew,p2fNew, F, image_size)

通过将这些矩阵相乘,我可以估计一个图像平面到另一个图像平面的转换: T = np.linalg.inv(np.mat(H1)) * np.mat(H2)

如何分解这个 T 矩阵并从中提取从第一个图像中心到另一个图像中心的旋转信息和矢量方向?

0 投票
0 回答
38 浏览

opencv - OpenCV从同一立体对的多个图像对中找到基本矩阵

如果我们有多个图像对和来自同一个立体设置的特征对应关系,我们如何利用它们来找到基本矩阵。

openCV cv2.findEssentialMat 函数采用属于一个图像对的 points1 和 points2 参数。

为了通过 RANSAC 识别具有更多特征对应关系的更好的内点,有没有一种方法可以合并来自多个图像对的对应关系以进行基本矩阵计算?因此,外在因素(滚动、俯仰、偏航)

现在我正在计算每个图像对的基本矩阵,cv2.recoverPose 以获得旋转矩阵,然后平均所有图像对的滚动、俯仰、偏航。有没有更稳健的方法?

编辑:澄清:来自同一立体设置的多个图像对

0 投票
0 回答
18 浏览

camera - 从两个图像估计深度信息

所以我发现这似乎是一个很好的博客: Estimate depth information from two images

但我不是光学方面的专家,所以我很难遵循文章中描述的所有过程。虽然我认为我确实明白我可以从两个图像中估计深度,首先通过估计两个相机的内在函数,然后还估计矩阵以将像素从右相机转换到左相机。但总的来说,在文章本身中有一点,作者说: 在此处输入图像描述

但在那之后解释了应该进行的另一项更正,一般来说,因为相机设置及其属性并不理想(即使在这个通用公式中我也可能错了,我真的不是专家)。

在本节之后,据我所知: 在此处输入图像描述

作者实际上解释了为什么对于视差我们应该使用新的校正视差公式: 在此处输入图像描述

但在最后一节中,作者以: 在此处输入图像描述

而且我看不出这个 u' 和 v' 如何与公式中的 'z' 估计相关联。是否需要使用它们而不是前面所有部分中的 uv 来获得正确和最准确的 z 值?

一般来说,这篇文章更像是一篇解释性文章,每个部分的作者都解释了这个想法,然后对其进行了扩展和更正,如果有人能在指令算法中总结它,我将不胜感激,例如:

您有两个相机,它们之间的距离为 40 厘米。

  1. 找到固有的相机矩阵(使用校准)、基本矩阵和基本矩阵。
  2. 计算旋转 - 平移矩阵或什么
  3. 使用那个和这个公式来计算 z 值,输出 z

所以我可以有一组确定性的指令,我如何从两个图像中估计 z 值,确定性地定位我的相机,它们之间有一定的距离。

先感谢您。

提醒:这组说明可以不详细,以为我已经提到不是专家,但它的结构应该足够好,让我自己扩展每个步骤,我的意思是在谷歌中进一步找到相关信息和等等,例如“计算内在相机矩阵”或“使用 8 点算法估计基本矩阵和基本矩阵”,我自己可以进一步找到的东西,只需要标题好的指令集。

希望你让我明白这一点。

PS:任何其他具有明确估计深度的步骤的好文章都会非常好。

0 投票
0 回答
17 浏览

python - 如何从旋转矩阵中获取基本矩阵以绘制极线?

目标
最终,我想在正确的图像上绘制极线。

问题
如果我知道左图像上的点和左相机和右相机之间的旋转矩阵,我如何获得用于在右图像上绘制极线的基本矩阵?(所以,我不使用 8 点算法)

我不知道正确图像上的点和翻译。

另外,如果我不知道内在参数,我可以画极线吗?

感谢您阅读我的提问。

给定以下代码,信息

我不知道如何使用旋转矩阵获得基本矩阵或基本矩阵