将2D / 3D对象投影到平面上的算法(增强现实)?

时间:2011-04-01 09:49:39

标签: algorithm direct3d transformation augmented-reality

我正在开发一个关于增强现实的项目,使用一个标记(这是一个棋盘),它从网络摄像头获取图像并将2D / 3D对象插入棋盘平面(实时)。

通过使用openCV,我能够检测棋盘角落并绘制它。

我使用Direct3D渲染帧(通过使用正交投影),以便稍后我可以使用它来投影2d / 3d对象。

现在我陷入了这个阶段。我知道有像ARToolkit等库,但我想了解它背后的技术和算法。如何找到可以将3D对象映射到棋盘平面的变换矩阵?

1 个答案:

答案 0 :(得分:2)

本文解释得很好:

小时。 Kato和M. Billinghurst。用于视频的标记跟踪和hmd校准 增强现实会议系统。增强现实,1999年。(IWAR '99)会议录。第二届IEEE和ACM国际研讨会,第85-94页, 1999. 1,2,7,9

快速解释:

  1. 找到标记的边角并从中创建2d边

  2. 使用边缘定义的平面创建标记的基矢量u1,u2 (http://twitpic.com/4fmbsu

  3. 在两个基矢量u1,u2上使用交叉乘积来获得第三个矢量u3

  4. 使用它们来构建矩阵