opencv - 使用 OpenCV 的增强现实 SDK

标签 opencv augmented-reality

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




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

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

OpenCV 安装

下载latest release version .

您可以找到安装指南 here (平台:linux、mac、windows、java、android、iOS)。

在线documentation .

增强现实

初学者here是 OpenCV 中的一个简单的增强现实代码。这是一个好的开始。

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

  • 主程序:创建所有类,初始化,capture视频中的帧。
  • AR_Engine 类:控制增强现实应用程序的各个部分。应该有2个主要状态:
  • 检测 : 尝试检测场景中的标记
  • 跟踪 :一旦被检测到,使用较低的计算技术在即将到来的帧中跟踪标记。

  • 还应该有一些算法来在每一帧中找到相机的位置和方向。这是通过检测场景中检测到的标记与我们离线处理的标记的 2D 图像之间的单应变换来实现的。此方法的解释here (第 18 页)。姿态估计的主要步骤是:
  • 加载相机内在参数 .之前通过校准离线提取。
    intrinsic parameters
  • 加载模式 (marker) to track:它是我们要跟踪的平面标记的图像。有必要为这种模式提取特征并生成描述符( keypoints ),以便稍后我们可以与场景中的特征进行比较。此任务的算法:
  • SIFT
  • FAST
  • SURF
  • 对于每个帧更新,运行检测算法 从场景中提取特征 并生成描述符。同样,我们有几种选择。
  • 筛选
  • 快速
  • 冲浪
  • FREAK :一种新方法(2012)被认为是最快的。
  • ORB
  • 查找 匹配 在模式和场景描述符之间。
  • FLANN matcher
  • 查找 Homography这些匹配的矩阵。之前可以使用 RANSAC 来查找匹配集中的内部值/异常值。
  • 提取 相机姿势 从单应性。
  • Pose from Homography上的示例代码.
  • Homography from Pose上的示例代码.

  • 完整示例:
  • aruco
  • Mastering OpenCV samples
  • 最佳答案

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

  • FREAK
  • ORB
  • 关于opencv - 使用 OpenCV 的增强现实 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12283675/

    相关文章:

    c++ - OpenCV 使用 Eclipse 和 CDT

    c++ - 我可以用 C 包装 OpenCV 的 C++ 接口(interface),然后用 Lisp 的 CFFI 包装它吗?

    python-3.x - 从网络摄像头 OPENCV PYTHON 移除背景

    swift - 为 ARAnchor : "cannot be automatically synthesized in an extension..." 实现 Codable

    ios - 此设备不支持提供的配置

    c++ - 如果已知外在参数和内在参数,则从 2D 图像像素获取 3D 坐标

    c++ - 要下载哪个Qt?

    javascript - Unity3D AR 应用程序 WebGL 构建报告错误

    swift - 即使在使用 `prepare` 之后,ARKit 添加节点也会导致丢帧

    ios - 有没有办法为工业增强现实构建 iOS 应用程序?