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