ARToolKit Android 无法识别新模式

ARToolKit Android cannot recognize new pattern

大家好我有一个关于AR技术的问题!

与我遇到问题的 ARToolKit 框架完全一致。 我做了教程中的所有操作,但应用程序无法识别我输入的符号。

教程页面:link

我创造了什么: - 关于符号 (filename.patt) 的模式文件并将其添加到 \Data\ 下的项目中 - 使用 mk_patt.exe 识别出我希望作为来源的图像。 - 修改来源:

markerID = ARToolKit.getInstance().addMarker("single;Data/patt.eslogo;80");

但我不知道我还需要做些什么。 顺便说一句,这是一个示例,使用原始来源,程序在符号上运行并绘制立方体。并且新的图案文件是相同的样式,所以这不是问题。

有什么想法吗?我没有找到有用的视频,其中包含确切的方法

更详细:

首先,在我使用 mk_patt.exe 并给出项目的 'camera_para.dat' 之后,创建并添加了 'patt.slogo' 模式文件,我修改了这一行,以:

markerID = ARToolKit.getInstance().addMarker("single;Data/patt.slogo;80");

这里是画法的要点:

public void draw(GL10 gl) {
...

if (ARToolKit.getInstance().queryMarkerVisible(markerID)) {

cube.draw(GL10gl);
顺便说一下,这是来自 git 的 public 'kosiara' 示例:link

logcat的重点是:

06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::startRunning(): called, start running
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): VideoSource::configure(): video Source video configuration: "-format=NV21"
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): VideoSource::configure(): video Source camera parameters: "Data/camera_para.dat"
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Opening Android Video Source.
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples I/libar: Using supplied video config "-format=NV21".
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples I/libar: Requesting images in NV21 format.
06-20 10:46:02.467 32096-32096/org.artoolkit.ar.samples I/ARActivity: Camera initialised
06-20 10:46:02.787 32096-32167/org.artoolkit.ar.samples V/RenderScript: 0xa0c63000 Launching thread(s), CPUs 4
06-20 10:46:03.264 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Loading single AR marker from file 'Data/patt.slogo', width 80.000000.
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]ARController::addMarker(): called
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::addMarker(): Added marker (UID=0), total markers loaded: 1, exiting, returning true
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples I/ARActivity: Scene configured successfully
06-20 10:46:03.274 32096-32212/org.artoolkit.ar.samples I/libar: cparamSearch beginning search for LGE/Nexus 5/hammerhead, camera 0, aspect ratio 16:9.
06-20 10:46:03.275 32096-32212/org.artoolkit.ar.samples I/libar: Matched cached camera calibration record (1920x1080, focal length 0.00).
06-20 10:46:03.275 32096-32212/org.artoolkit.ar.samples I/libar: Matched cached camera calibration record (1280x720, focal length 0.00).
06-20 10:46:03.695 32096-32096/org.artoolkit.ar.samples I/CameraPreview: Autofocused....
06-20 10:46:03.930 32096-32212/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Android Video Source running 1280x720.
06-20 10:46:03.961 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::initAR() called

我尝试了另一个模式文件并且它正在工作,但是当我创建关于符号的模式时的过程与现在相同,我不知道为什么程序无法识别我的符号使用相同的逻辑。

结论:最终程序使用了我用比以前更宽的线创建的另一个符号,这就是重点。