我正在OpenCV上开发增强现实SDK。我在查找有关该主题的教程时遇到了一些问题,需要遵循的步骤,可能的算法,实时性能的快速高效编码等。
到目前为止,我已经收集了以下信息和有用的链接。
OpenCV安装
下载最新版本。
您可以在此处找到安装指南(平台:linux,mac,windows,java,android,iOS)。
在线文档。
增强现实
对于初学者来说,这是OpenCV中的一个简单的增强现实代码。这是一个好的开始。
对于正在寻找设计良好的最新SDK的任何人,我都考虑了OpenCV功能,发现了每个基于标记跟踪的增强现实应具有的一般步骤。
主程序:创建所有类,初始化,从视频捕获帧。
AR_Engine类:控制增强现实应用程序的各个部分。应该有两个主要状态:
- 检测:尝试检测场景中的标记
- 跟踪:一旦检测到,将使用较低的计算技术来跟踪即将到来的帧中的标记。
另外,应该有一些算法可以找到每帧相机的位置和方向。这是通过检测场景中检测到的标记与我们离线处理的标记的2D图像之间的单应性变换来实现的。此处(第18页)对此方法的说明。姿势估计的主要步骤是:
加载摄像机内部参数。以前通过校准离线提取。
加载要跟踪的图案(标记):这是我们要跟踪的平面标记的图像。有必要为该模式提取特征并生成描述符(关键点),以便稍后我们可以与场景中的特征进行比较。此任务的算法:
对于每个帧更新,运行检测算法以从场景中提取特征并生成描述符。同样,我们有几种选择。
查找模式和场景描述符之间的匹配。
从这些匹配项中找到同形异义矩阵。可以先使用RANSAC在匹配集中找到离群值/离群值。
从单应性中提取Camera Pose。