使用标记获取摄像头角度的库

3

我正在寻找类似于ARToolKit的库。它需要支持处理单个图像并搜索该图像以查找标记。如果找到一个标记,我希望它返回基于标记的相机角度/视点。

我在谷歌上没有找到任何相关信息,这样的库是否存在?


你如何知道自己是一个真正的极客?整个世界的目光都集中在南非,见证着最大的足球比赛的开幕式,而你却在那一分钟内在 StackOverflow 上发布问题。我知道,我知道。你弄坏了你的 vuvuzela。 - anon
@Josto:你在谈论此时似乎正在举行的那个体育赛事吗?那是关于足球的?和在 Stack Overflow 以外的人交流的时候知道这点确实不错。 - Nikolai Ruhe
你有什么阻碍使用ARToolKit的问题吗? - Nikolai Ruhe
@Nikolai:它不支持处理单个图像,而且这个项目有点死了。 - Robin
1个回答

2
我回答这个问题是为了让任何遇到这个问题的人不必做我所做的研究。 显然,访问和处理单个图像并不完全符合增强现实的定义。 还有另一个关键词,但我已经忘记了(抱歉),但如果您想使用Google,则不应仅关注与AR相关的软件。
为了解决我的问题,我采用了两种方法。 第一种方法是使用ARToolKit以及gstreamer和ffmpeg。 我使用ffmpeg将单个图像转换为一秒钟的视频,导出ARTOOLKIT_CONFIG字符串,然后使用ARToolKit呈现图像。 这不是很好,因为这非常有限,而且我无法通过解析artoolkit-opengl输出将呈现的图像返回给自己。
然而,我的第二个方法非常满意:我使用OpenCV库检测标记。 类似这样的示例可以在此处找到:http://dasl.mem.drexel.edu/~noahKuntz/openCVTut10.html然后我导出了识别的相机参数,并将它们转换为适合Irrlich-Engine使用的矩阵,然后使用它将对象呈现到图像上。 然后,我可以使用Irrlicht的transformDataToImage()函数获取最终结果。
唯一的缺点是我必须运行X-Server才能获得呈现的图片,但我可以接受这一点。
附注:不要尝试使用上面提到的教程中找到的正方形标记。由于显而易见的原因,无法检测到标记的确切旋转。

如果您能指出如何转换相机参数以适应Irrlicht的矩阵,我将不胜感激。考虑到Irrlicht使用左手坐标系,您将如何构建投影矩阵(用于camera->setProjectionMatrix())?谢谢。 - Dragos Stanciu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接