2012-09-05 22 views
87

增强现实SDK我开发的OpenCV的增强现实SDK。我有一些问题找的话题,哪些步骤按照教程,可能算法,实时性能等快捷,高效的编码与OpenCV的

到目前为止,我已经收集到的下一个信息和有用的链接。

OpenCV的安装

下载latest release version

您可以找到安装指导here(平台:Linux操作系统,在Mac,Windows,JAVA,Android装置,iOS)。

在线documentation

增强现实

对于begginers here是OpenCV的一个简单的增强现实代码。这是一个好的开始。

对于任何人寻找一个设计良好的国家的最先进的SDK我发现基于标记跟踪每一个增强现实应该有一些基本步骤,考虑OpenCV的功能。

  1. 主程序:从视频创建所有类,初始化,capture帧。

  2. AR_Engine类:控制增强现实应用的部分。应该有2个主要国家:

    • 检测:尝试检测场景
    • 跟踪标记:一旦检测,使用较低的计算技术,在即将到来的帧traking标记。

此外应该有用于寻找在每个帧的相机的位置和方向的一些算法。这是通过检测场景中检测到的标记与离线处理的标记的2D图像之间的单应性转换来实现的。这种方法的解释here(第18页)。对于姿态估计的主要步骤为:

  1. 负载摄像机内参数。以前通过校准离线提取。 intrinsic parameters

  2. 装入图案(标记)来跟踪:这是我们要跟踪平面标记的图像。有必要为这个模式提取特征并生成描述符(keypoints),以便我们稍后可以与场景中的特征进行比较。这个任务的算法:

  3. 对于每一帧更新,从现场运行提取特征检测算法,并生成描述符。我们再次有几个选择。

    • SIFT
    • FAST
    • SURF
    • FREAK:supossed是最快的新方法(2012)。
    • ORB
  4. 查找匹配模式和场景描述符之间

  5. 查找那些比赛Homography矩阵。之前可以使用RANSAC在比赛组中找到内线/外线。

  6. 提取照相机姿势来自单应性。

完整的例子:

+1

不幸的是,这是“不建设性”,你是否在寻找建议。 – bfavaretto

+3

关于安装任务,现在OpenCV已经迁移到GIT,因此为了下载源代码,需要做一个“git clone git://code.opencv.org/opencv.git”。 –

+11

47由于愚蠢的规则,增选还没有结束。 – SvaLopLop

回答

19

由于AR应用通常在移动设备上运行,你也可以考虑其他功能检测仪/描述:

+3

谢谢!还有一个“快速”版本的FAST,在移动设备上实时运行,它是金字塔形的,SIFT描述符被缩小 –

+2

我使用ORB得到了近乎完美的结果 – dynamic

+0

其实,阅读ORB它说它是金字塔中的FAST –

13

一般来说,如果你能选择的标记您使用边缘检测器检测第一方目标,然后或者霍夫或简单轮廓 - 然后从内部设计识别特定的标志物。而不是使用一般的点匹配器。

查看Aruco,了解详细的示例代码。

+4

是的,基准方法是最简单的方法,但它并不是最新的。我认为现在应该指出纹理标记。谢谢。这个例子非常有趣,因为它很好地解释了。 –

+1

如果您想知道姿势,则需要将标记要素的3D位置与相应的图像坐标进行匹配。规则形状的目标使这更容易,但它们不需要是平面的 –

+0

但是,如果它们不是平面的,则需要3d模型或CAD模型,否则从2d到3d的单应性不再是有效的方法,是它?我的意思是直线变换用于findhomography –