【问题标题】:Find distance of matching keypoints in a stereo image查找立体图像中匹配关键点的距离
【发布时间】:2012-11-20 12:35:35
【问题描述】:

我目前正在从 ios 设备上的相机中提取帧。从这些帧中,我使用 ORB 来查找关键点及其描述符。然后我使用 BFMatcher 来查找图像上关键点之间的匹配。

我希望从这里计算相机到这些点的距离。我使用的所有点都是平面的(现在我使用墙上的别针进行测试)。在这个阶段没有必要考虑非平面表面,所以这应该会很容易。

我目前有:

  • 关键点
  • 关键点描述符
  • 关键点之间的匹配
  • 基本矩阵
  • 基本矩阵
  • 两个摄像头的投影矩阵(虽然我不确定如何测试第二个摄像头是否正确)

我认为我必须以某种形式使用三角测量,但不完全确定它是如何工作的。我知道我必须将来自每个相机的光线(由相机投影矩阵定义?)通过每个关键点并找到它们相交的点(或最接近相交的点)。正如我在 3D 空间中假设的那样,每条射线相交的可能性极小。此外,我的关键点匹配通常非常好,因为我进行了一些基本过滤,但有时关键点是错误的,所以我需要考虑这一点。

在此之前,我使用 Matlab 校准了相机,因此我得到了焦距、主点和失真。但是,我从图像中提取的所有点都是 2D 的。据推测,有必要在 3D 中表示这些点,但我不确定如何。

还是我完全采取了错误的方法?

显然,这将针对场景中的每个点完成,但我只画了一个点。平面(正方形)将始终处于相同位置,但相机位置会因帧而异。关键点将位于同一位置,但并非每帧都拾取每个点。

【问题讨论】:

  • 你能张贴一张显示你的相机位置和你的点的图吗?这将使这非常更容易理解....

标签: ios opencv computer-vision triangulation


【解决方案1】:

参见 Hartley-Sturm 关于最佳三角测量的著名 paper,以及 Kanatani's variant

【讨论】:

  • 谢谢,我现在去看看那些^__^
  • 我在很多帮助下实现了线性三角剖分算法。它产生每个关键点的 x,y,z,w 坐标。我猜是因为它们的范围都从-1到1,这些都在世界空间中?现在要弄清楚如何将图像投影到这些点上:)
猜你喜欢
  • 1970-01-01
  • 2014-12-20
  • 2016-08-08
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多