标签: artoolkit

使用增强现实库进行学术项目

我打算参加我的增强现实学位课程.它将使用标记,虚拟对象之间也会有交互.(一种模拟).

您是否建议将ARToolkit,NyARToolkit,osgART等库用于此类项目,因为它们具有跟踪,检测,校准等所有功能?从程序员的角度来看还有很多工作要做吗?

如果我使用OpenCV并从头开始执行标记检测,识别,校准和其他步骤,您怎么看?会难以处理吗?

opencv augmented-reality artoolkit

7
推荐指数
1
解决办法
1434
查看次数

在android代码中制作增强现实标记(.patt文件)的模式文件

Java中是否有任何指令可以获取增强现实标记的位图并从中生成模式文件?我指的是AR增强现实库中使用的模式文件(.patt).(此文件包含一个0-255值的矩阵.)例如,在此在线模式生成器中,我们可以上传位图并生成模式文件.现在,我希望在Android代码中有一个指令来做同样的事情.我知道在ARtoolkit中有一个mk_patt类可以做到这一点,但它在C中.我想在Android中使用它.非常感谢.

android design-patterns artoolkit andar

7
推荐指数
0
解决办法
3285
查看次数

准确测量一组基准点之间的相对距离(增强现实应用)

假设我有一组5个标记.我试图使用增强现实框架(如ARToolkit)找到每个标记之间的相对距离.在我的相机中,前20帧只显示前2个标记,这样我就可以计算出2个标记之间的转换.第二个20帧仅显示第2和第3个标记,依此类推.最后20帧显示了第5和第1个标记.我想建立所有5个标记的标记位置的3D地图.

我的问题是,知道由于视频输入质量低而导致距离不准确,如何根据我收集的所有信息尽量减少不准确之处?

我幼稚的方法是使用第一个标记作为基点,从第20帧采取变换的均值和放置第二个标记等第三位和第四位.对于第5个标记,将它放在第4个和第1个之间,将它放在第5个和第1个以及第4个和第5个之间的转换平均值的中间.我认为这种方法偏向于第一个标记放置,但没有考虑到每帧看到超过2个标记的相机.

最终,我希望我的系统能够计算出x个标记的地图.在任何给定的帧中,最多可出现x个标记,并且由于图像质量而存在非系统误差.

任何有关正确处理此问题的方法的帮助将不胜感激.

编辑:有关此问题的更多信息:

让我们说真实世界地图如下:

在此输入图像描述

假设我得到100个读数,用于点之间的每个变换,如图中的箭头所示.实际值写在箭头上方.

我获得的值有一些误差(假设遵循关于实际值的高斯分布).例如,对于标记1至2获得的读数之一可以是x:9.8 y:0.09.鉴于我有所有这些读数,我如何估计地图.理想情况下,结果应尽可能接近实际值.

我天真的方法有以下问题.如果从1到2的变换的平均值略微偏离,即使2到3的读数非常准确,也可以关闭3的放置.此问题如下所示:

在此输入图像描述

果岭是实际值,黑色是计算值.1到2的平均变换是x:10 y:2.

math 3d computer-vision augmented-reality artoolkit

6
推荐指数
1
解决办法
1646
查看次数

JSartoolkit:用于Android后置摄像头的camera_para.dat

我(再次)使用JSartoolkit 5(https://github.com/artoolkit/jsartoolkit5)时遇到了麻烦.

我正在尝试使用我的设备的后置摄像头(Android - Nexus 5x,如果这很重要).我已经看到这个框架使用.dat文件来导入凸轮设置.

所以,我使用.dat了repo中提供的文件(那里:https://github.com/artoolkit/jsartoolkit5/tree/master/examples/Data).

但这两个文件都使用我的Android设备上的用户(面向)凸轮.

有人有一个我可以用来在Android上传输后置摄像头的文件吗?或者知道如何设置它?

编辑:

我使用了这个应用程序https://play.google.com/store/apps/details?id=com.artoolworks.ar.utils.calib_camera,如artoolkit文档中所述.但是,当我完成校准过程时,它会说它上传数据:我不知道在哪里,以及我如何使用它.有人能告诉我如何从这个应用程序导出.dat文件?

javascript android artoolkit jsartoolkit

6
推荐指数
1
解决办法
644
查看次数

有什么办法让AR.js相机对机芯不敏感?

在使用各种尺寸和距离的默认和自定义标记/模型进行测试后,我得出结论,我的AR模型有癫痫发作(抖动/闪烁/像疯了一样摇晃)是因为我的手部动作.当(手机)相机静止时,相机稳定时型号稳定.

因为目的是与公众(或任何电话支持WebRTC的人)共享最终产品,我无法校准AR相机,因为这只能解决我的(电话)问题,而不是其他受众.

AR.js或ARToolkit中是否有设置来控制相机的灵敏度?

augmented-reality artoolkit jsartoolkit ar.js

6
推荐指数
1
解决办法
746
查看次数

ARToolKit无法识别USB摄像头

我在64位华硕的Ubuntu 12.10上安装了ARToolKit.安装没有错误,所以我觉得我没事.但是当我想尝试一个例子时它找不到相机.如果我没有填写任何东西, char *vconf = ""; 我得到

No video config string supplied, using defaults.
ioctl failed
Run Code Online (Sandbox Code Playgroud)

最常见的解决方案意味着 char *vconf = "v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,width=640,height=480 ! identity name=artoolkit ! fakesink";

但这对我不起作用.我明白了

r@r-K55VD:~/Downloads/Artoolkit-on-Ubuntu-12.04-master/bin$ ./simpleTest
Using supplied video config string [v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,width=640,height=480 ! identity name=artoolkit ! fakesink].
ARVideo may be configured using one or more of the following options,
separated by a space:

DEVICE CONTROLS:
 -dev=filepath
    specifies device file.
 -channel=N
    specifies source channel. …
Run Code Online (Sandbox Code Playgroud)

usb camera artoolkit

5
推荐指数
1
解决办法
2115
查看次数

Unity Android 构建可以在 Mono 中运行,但由于未定义的引用、缺少库而在 IL2CPP 中失败

我正在尝试更新我们基于 ARToolkit5 的 Unity Android 应用程序,该应用程序已在 Google Play 商店中存在多年。ARToolkit5 不再受支持,但我们仍然依赖它大约 4 年前构建的库。我的Unity版本是2020.1.11f1。

我需要将应用程序升级到 Google App Bundle 并添加 64 位支持。因此,据我了解,第一步是从 Mono 更改为 IL2CPP 作为脚本后端。32 位 Android ARMv7 应用程序在 Mono 中构建并运行良好,但当我实际上只进行一项更改(即在项目设置下切换为 IL2CPP 作为脚本后端)时,构建失败。我什至还没有尝试添加 ARM64 选项。

使用 IL2CPP 时,构建失败并BuilderFailedException显示数百个Undefined References...

Exception: /Applications/2020.1.11f1/Unity.app/Contents/il2cpp/build/deploy/net471/il2cpp.exe did not run properly!

Failed running "/Applications/2020.1.11f1/Unity.app/Contents/il2cpp/build/deploy/net471/il2cpp.exe" --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="<redacted>/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a/libil2cpp.so" --cachedirectory="<redacted>/Assets/../Library/il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="/Applications/2020.1.11f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" --additional-include-directories="/Applications/2020.1.11f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" --baselib-directory="/Applications/2020.1.11f1/PlaybackEngines/AndroidPlayer/Variations/il2cpp/Release/StaticLibs/armeabi-v7a" --avoid-dynamic-library-copy --tool-chain-path="/Applications/2020.1.11f1/PlaybackEngines/AndroidPlayer/NDK" --profiler-report --map-file-parser="/Applications/2020.1.11f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser" --directory="<redacted>/Temp/StagingArea/assets/bin/Data/Managed" --generatedcppdir="<redacted>/Temp/StagingArea/Il2Cpp/il2cppOutput"  

stdout:
Running il2cpp.exe in workstation GC mode.
Building libil2cpp.so with …
Run Code Online (Sandbox Code Playgroud)

mono android unity-game-engine artoolkit il2cpp

5
推荐指数
1
解决办法
8095
查看次数

如何检测AR.js中何时找到标记

我正在尝试检测何时在ar.js中找到/丢失标记,同时使用a-frame.

从我在源代码中看到的,当找到标记时,应该触发'getMarker'事件,而且artoolkit似乎派遣了一个markerFound事件.

我试图听那些事件的<a-scene>,或上<a-marker>,但似乎我现在不是弄错了,或者我需要得到更深层次的arController,或arToolkit对象.

当我记录场景或标记时,我只获得对属性的引用,这些属性似乎没有附加上述对象.(例如marker.arController,或marker.getAttribute('artoolkitmarker').arController)

有没有人试过这个并有任何提示如何做到这一点?

three.js artoolkit aframe ar.js

4
推荐指数
1
解决办法
5286
查看次数

CVImage和IplImage有什么区别?

CvImage和之间有什么区别IplImage
我正在尝试将OpenCV与ARToolKit集成,但我在这里收到错误:

    CvImage *image;
Run Code Online (Sandbox Code Playgroud)

错误是:

在*令牌之前预期'=',',',';','询问'或'__atrribute __'

opencv artoolkit

1
推荐指数
1
解决办法
1320
查看次数

将“画布渲染模式”设置为“世界空间”时没有事件

我正在构建使用ARToolkit for Unity3D的AR iOS应用。我的目标是在世界空间模式下创建一个UI,以便当我将手机摄像头指向图像时,它将以3D形式显示UI(例如,选择产品或滚动浏览信息列表等)。

我遵循的指示:

https://github.com/artoolkit/ar6unity-wiki/wiki/Setting-Up-Your-First-ARToolKit-for-Unity-Scene

https://github.com/artoolkit/ar6unity-wiki/wiki/ARToolKit-for-Unity-on-iOS

使UI渲染模式=屏幕空间覆盖没有问题。这意味着无论画布如何移动,UI画布都将“固定”在屏幕上。但是,当我使用World Space时,UI触摸输入事件只是不会触发。这是我的项目的设置:

Marker2是图像检测发生的地方。然后,它应该显示2个多维数据集和1个具有按钮和滚动视图的UI画布(此屏幕快照之外-与此无关紧要)

在此处输入图片说明

这是我的画布属性。请注意,我将其放在“默认”层中,以便UI可以显示,并且“渲染模式” =“世界空间”:

在此处输入图片说明

好的,我举起了我的图像,它检测并显示了2个多维数据集和一个按钮。但是,单击或触摸按钮均无效。以前在“ UI层”和“屏幕空间覆盖”中,我可以按一下按钮,它可以正常工作(基本上在控制台中输出一些文本-没关系)。

在此处输入图片说明

无论如何,我尝试使用一个新项目进行测试,在该项目中我不使用ARToolkit,而只是一个普通的Camera。一切正常。因此,它肯定与ARToolkit中断移动触摸事件有关。

请帮助我指出为什么使用UI World Space在ARToolkit中无法使用移动触摸输入。

c# unity-game-engine ios artoolkit

1
推荐指数
1
解决办法
2977
查看次数