首页 文章

带OpenCV的增强现实SDK [关闭]

提问于
浏览
90

我正在开发OpenCV上的增强现实SDK . 我在找到关于该主题的教程,遵循的步骤,可能的算法,快速有效的实时性能编码等方面遇到了一些问题 .

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

OpenCV安装

下载latest release version .

你可以找到安装指南here(平台:linux,mac,windows,java,android,iOS) .

在线documentation .

增强现实

对于begginers来说,here是OpenCV中的一个简单的增强现实代码 . 这是一个好的开始 .

对于任何寻找精心设计的最先进SDK的人来说,我发现了一些基于标记跟踪的每个增强现实应该具有的一般步骤,考虑到OpenCV功能 .

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

  • AR_Engine类:控制增强现实应用程序的各个部分 . 应该有两个主要状态:

  • detection :尝试检测场景中的标记

  • tracking :一旦检测到,使用较低的计算技术在即将到来的帧中追踪标记 .

还应该有一些算法用于在每一帧中找到摄像机的位置和方向 . 这是通过检测场景中检测到的标记与我们已离线处理的标记的2D图像之间的单应变换来实现的 . 此方法的说明here(第18页) . 姿势估计的主要步骤是:

  • Load camera Intrinsic Parameters . 以前通过校准离线提取 .
    intrinsic parameters

要跟踪的

  • Load the pattern (标记):它是我们要跟踪的平面标记的图像 . 有必要为此模式提取特征并生成描述符(keypoints),以便稍后我们可以与场景中的特征进行比较 . 此任务的算法:

  • SIFT

  • FAST

  • SURF

  • 对于每次帧更新,运行 extracting features from the scene 的检测算法并生成描述符 . 我们还有几种选择 .

  • SIFT

  • SURF

  • FREAK:一种新方法(2012)被认为是最快的 .

  • ORB

  • 在模式和场景描述符之间查找 matches .

  • FLANN matcher

  • 从这些匹配中查找Homography矩阵 . 之前可以使用RANSAC来查找匹配集中的内点/异常值 .

  • 从单应性中提取 Camera Pose .

  • Pose from Homography上的示例代码 .

  • Homography from Pose上的示例代码 .

完整示例:

2 回答

  • 13

    由于AR应用程序通常在移动设备上运行,您还可以考虑其他功能检测器/描述符:

  • 19

    通常,如果您可以选择标记,则首先使用边缘检测器检测方形目标,然后使用Hough或简单的轮廓检测 - 然后从内部设计中识别特定标记 . 而不是使用一般点匹配器 .

    查看Aruco以获得精心编写的示例代码 .

相关问题