问题标签 [artoolkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 从图像创建 AR 标记
这些天来,我正在使用 ARToolKit,我面临着从静态图像创建 AR Marker 的必要性。因此,正如旧的 ARToolKit 时事通讯中所建议的那样,我开始编写自己的视频函数,当我执行 mk_patt.exe 时应该替换标准的 Win32DirectShow 函数。我的视频功能具有以下结构:
焦点方法是arVideoGetImage,它应该返回我的图像数据。我对 C 语言不是很熟悉,所以我在该方法中添加了一些我在网上找到的简单代码,但是当我运行 mk_patt.exe 时,它崩溃了。我需要一些关于如何编写代码的帮助,或者这是否是达到我的目的的正确方法。
gstreamer - 无法在 Ubuntu 12.04 上制作 ARToolKit
我在华硕 eee PC 上运行Ubuntu 12.04,在遵循ARToolKit教程之后,当我make
在选择GStreamer后进入该部分时,我在 VideoGStreamer/video.c 中收到很多“未定义参考”错误。在这里粘贴:
我在 freenode 上的#gstreamer 上问了同样的问题,他们暗示这可能是 ARToolKit 的问题。然后我看到了这个:
http://ubuntuforums.org/showpost.php?s=2260b48cec6cd38078e5f9f6d7beee47&p=12091315&postcount=3
官方的 ARToolKit 支持现在似乎已经死了,所以这就是我在这里问这个的原因。
感谢您阅读我的悲伤故事。
更新:我在http://www.kameda-lab.org/_local/imagelab.tsukuba.ac.jp/ubuntu1004+opencv21/ARToolKitk/index-找到了一个由 Yoshinari Kameda 先生制作的补丁,它与 V4L2 + Ubuntu 完美配合e.html
camera - 获取具有已知位置和方向的相机正在查看的对象的 3D 位置
我正在构建一个增强现实应用程序,并且我有相机的偏航、俯仰和滚动。我想开始在 3D 环境中放置对象。我想让它在用户单击时,在相机指向的位置(2D 屏幕的中心)弹出一个 3D 点,当用户移动时,该点在 3D 空间中相应移动。相机不会改变位置,只会改变方向。是否有适当的方法来恢复该点的 3D 位置?我们可以假设所有点都与相机位置等距。
我能够为两个轴独立完成此操作(OpenGL 默认方向)。这适用于垂直轴的变化:
这也适用于水平轴的变化:
我在想我应该把 combine 变成:
这似乎很接近,但并不完全正确。任何建议将不胜感激!
c++ - 标记 ID 始终为 -1
我正在用 ARToolkit plus 做一个小项目。我发现检测到的标记 id 始终为 -1 很奇怪,因为标记的置信度也始终为 0.0。我已经加载了标准 ARTK plus zip 提供的 patt.hiro 文件。下面的代码显示了我在做什么:
“DrawGLScene”函数的片段:
'detectMarkers' 功能:
该程序成功地检测到场景中的标记,但没有给它们任何 id 或置信度比,即使标记是内存中加载的标记。任何帮助都非常感谢!
macos - 无法在 64 位 Mac 上编译 ARToolkit
我试图在我的 64 位 MacMini 上编译 ARToolkit,但是当我运行 make 时,它给出的错误如下
我意识到这些错误与 Mac 上的 Quicktime Framework 有关,但我不知道如何修复它。我的 Mac 版本是 10.7.5,64 位。
谢谢。
opencv - 标记跟踪+标记的透视扭曲
我正在使用 ARToolKit+ 跟踪标记。我收到一个看起来差不多的模型视图矩阵。现在我想扭曲图像,使标记看起来就像我直视它时的样子。但无论我做什么,结果看起来都非常扭曲。我知道 ARToolKit 按列主要顺序存储 4x4 矩阵,所以我为 OpenCV 修复了它。
到目前为止我尝试的是:1)将顺序固定为行主要顺序 2)使用 cvInverse 计算逆(尽管转置 3x3 旋转部分 + 反转平移就足够了) 3)使用 cvPerspectiveWarp 矩阵
难道我做错了什么?
tl;博士:我想要这个:https ://www.youtube.com/watch?v=qZ-LU-C2p2Q 我得到一些扭曲的线条和很多黑色。
3d - 3d注册步骤中artoolkit的arGetTransMatSub()函数的一些疑惑
我正在学习artoolkit代码,但是遇到了一些困难,花了我两个多星期的时间,尤其是在三维注册部分,我不太了解arGetTransMatSub()这个函数,尤其是里面的算法和变量。我看过一些关于artoolkit三维注册的文档,但是我不能把那些理论和代码结合起来,下面是我的一些问题:
1. ArParamIdeal2Observ()的功能是翻译标记中的坐标吗?理想屏幕坐标系到观察屏幕坐标系?
2.在for循环块中,wx,wy,wz是表示marker在相机坐标系中的坐标吗?
3.mat_b、mat_c、mat_d、mat_e分别代表什么?
我真的很想掌握这些,感谢您的帮助。
下面是来自 arGetTransMatSub() 函数的一些代码。
augmented-reality - 使用哪个框架来检测单张图像中的增强现实标记
我需要在 C/C++、python 或 MATLAB 中的 OS X 上检测单个图像中的增强现实标记(或至少在磁盘上保存的视频中,而不是实时捕获)。
我尝试了 ARToolKit,但看起来从磁盘读取视频只能在 Windows 上运行:
该框架应该专门用于 ARMarker 检测(以获得更高的边缘点精度),而不仅仅是简单的模式检测,例如使用 openCV。
有谁知道 ARToolKit 的替代品或如何使用 ARToolKit 在 OS X 上阅读视频?我已经进行了深入搜索,但没有找到任何可行的替代方案。
openscenegraph - 来自 ARtoolkit 标记的翻译数据
您将如何使用 ARToolKit 从标记中获取翻译数据?
我知道 ARToolkit 可以为您提供转换矩阵,但我很难获得平移运动。
例如,当我将标记向右移动时,我在屏幕上绘制的对象也会向右移动。但是,我不想在标记上绘制对象,因为它将使用 OpenSceneGraph 在场景中呈现。目的是尝试创建一个虚拟环境,并在不使用太多键盘交互的情况下与之交互。当然,标记数据将通过网络摄像头获得。
boost - Boost Asio,异步服务器和视频跟踪
我需要通过 ARToolKit 视频跟踪库实时收集的 (Boost) tcp 服务器信息进行传输。
哪种方法是正确的?
我实际上是用 Boost 线程和 asio 做的,但我认为我所做的事情做得不好(即使它有效)
这是我运行服务器的方法(Server 类的源代码来自 Boost 教程):
然后我开始视频跟踪
以这种方式定义
以这种(可怕的)方式,一切正常。但是我想避免为 asio 服务器生成第二个线程(它不应该被扔在那里,正如我从 Boost 文档中读到的那样)。
否则,试图将视频拖出主线程会使 ARToolKit 库崩溃,即:
当join()
运行时,程序在 glutInit 调用时出现段错误