【问题标题】:Library for getting a camera angle via a marker通过标记获取相机角度的库
【发布时间】:2010-07-11 18:31:35
【问题描述】:

我正在寻找类似于 ARToolKit 的库。它需要支持处理单个图像并在该图像中搜索标记。如果它找到一个,我希望它根据标记返回相机角度/视点。 我通过 Google 找不到任何东西,是否存在类似的东西?

【问题讨论】:

  • 你怎么知道你是一个真正的极客?全世界的注意力都集中在南非,见证了这场最大的足球赛事的最后一场比赛的开球,而你就在那一刻在 StackOverflow 上发布了问题。我知道我知道。你打破了你的呜呜祖拉。
  • @Josto:您说的是目前似乎正在举行的体育赛事吗?那是关于足球的?与 SO 以外的人交谈时很高兴知道。
  • 是什么让你无法使用 ARToolKit?
  • @Nikolai:它不支持处理单个图像并且项目已经死了。

标签: iphone augmented-reality photogrammetry


【解决方案1】:

我正在回答这个问题,所以任何偶然发现这个问题/问题的人都不必做与我相同的研究。

显然,访问和处理单个图像并不完全符合增强现实的定义。我已经忘记了另一个关键字(对不起),但如果你想使用谷歌,你不应该只关注与 AR 相关的软件。

为了解决我的问题,我使用了两种方法。第一个是将 ARToolKit 与 gstreamer 和 ffmpeg 一起使用。我使用 ffmpeg 将我的单张图像转换为一秒钟的视频,导出 ARTOOLKIT_CONFIG 字符串,然后使用 ARToolKit 渲染图像。这不是很好,因为它非常有限,如果不解析artoolkit-opengl 输出,我无法真正将渲染图像返回给我。

然而,我的第二种方法让我非常满意:我使用 OpenCV-Library 来检测标记。可以在此处找到类似的示例:http://dasl.mem.drexel.edu/~noahKuntz/openCVTut10.html 然后我导出识别的相机参数并将它们转换为适合 Irrlich-Engine 使用的矩阵(我也尝试过 Ogre,但 Irrlicht 对我来说似乎更好),然后将我的对象渲染到图像上。然后我可以使用 Irrlicht 的 transformDataToImage() 函数获得最终结果。

唯一的缺点是我必须运行 X-Server 才能获得渲染图片,但我可以忍受。

Ps:不要用我上面提到的教程中的方形标记来尝试这个。出于显而易见的原因,无法检测到标记的准确旋转。

【讨论】:

  • 如果您能指出如何转换相机参数以适应 Irrlicht 的矩阵,我将不胜感激。考虑到 Irrlicht 使用左手坐标系这一事实,您将如何构造投影矩阵(在 camera->setProjectionMatrix() 中使用)?谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-09
  • 2018-01-28
相关资源
最近更新 更多