我正在OpenCV上开发增强现实SDK。我在查找有关该主题的教程时遇到了一些问题,需要遵循的步骤,可能的算法,实时性能的快速高效编码等。
到目前为止,我已经收集了以下信息和有用的链接。
OpenCV安装下载最新版本。http://opencv.org/downloads.html
您可以在此处找到安装指南(平台:Linux,Mac,Windows,Java,Android,iOS)。http://docs.opencv.org/doc/tutorials/introduction/table_of_content_introduction/table_of_content_introduction.html
在线文档。http://opencv.org/documentation.html
增强现实对于初学者来说,这是OpenCV中的一个简单的增强现实代码。这是一个好的开始。http://dsynflo.blogspot.com.es/2010/06/simplar-augmented-reality-for-opencv.html
对于正在寻找设计良好的最新SDK的任何人,我都考虑到了OpenCV功能,发现了每个基于标记跟踪的增强现实应具有的一般步骤。
主程序:创建所有类,初始化,从视频捕获帧。
AR_Engine类:控制增强现实应用程序的各个部分。应该有两个主要状态:
检测:尝试检测场景中的标记跟踪:一旦检测到,将使用较低的计算技术来跟踪即将到来的帧中的标记。另外,应该有一些算法可以找到每帧相机的位置和方向。这是通过检测场景中检测到的标记与我们离线处理的标记的2D图像之间的单应性变换来实现的。此处(第18页)对此方法的说明。姿势估计的主要步骤是:http://cvlab.epfl.ch/~lepetit/papers/lepetit_ftcgv05.pdf
加载摄像机内部参数。以前通过校准离线提取。 固有参数
加载要跟踪的图案(标记):这是我们要跟踪的平面标记的图像。有必要为该模式提取特征并生成描述符(关键点),以便稍后我们可以与场景中的特征进行比较。此任务的算法:
筛快速冲浪对于每个帧更新,运行检测算法以从场景中提取特征并生成描述符。同样,我们有几种选择。
筛快速冲浪FREAK:一种新的方法(2012)supossed是最快的。天体查找模式和场景描述符之间的匹配。
法兰匹配器从这些匹配项中查找同形异义矩阵。可以先使用RANSAC在匹配集中找到离群值/离群值。
从单应性中提取Camera Pose。
同源性构成的样例代码。来自Pose的同态样例代码。完整的例子:阿鲁科http://sourceforge.net/projects/aruco/掌握OpenCV示例https://github.com/MasteringOpenCV/code