如何在Android的Artoolkitplus中获得MarkerId

我正在使用ARToolkitPlusBenchmark扫描AR标记标记 。 我可以很容易地检测到所有4096 BCH标记 。但是我的问题是我不明白如何检测每个BCH标记ID

我从这里find了代码ARToolkitPlusBenchmark

我试图在Markerinfo.java中检测标记

class DetectMarkerWorker extends Thread { private byte[] curFrame; public DetectMarkerWorker() { setPriority(MAX_PRIORITY); start(); } @Override public synchronized void run() { try { wait(); } catch (InterruptedException e) { } while (true) { if(!CurrentConfig.ONLY_CAMERA_PREVIEW){ long tick = System.currentTimeMillis(); if (CurrentConfig.USE_ARTOOLKITPLUS) { timeNativeMarkerDetection = artoolkitPlus_detectmarkers(curFrame, transMatMonitor); nativeMarkerDetectionHistory.add(timeNativeMarkerDetection); if(nativeMarkerDetectionHistory.size()>20){ nativeMarkerDetectionHistory.remove(0); } for(int i = 0;i<nativeMarkerDetectionHistory.size();i++){ sumNativeMarkerDetection += nativeMarkerDetectionHistory.elementAt(i); } avgNativeMarkerDetection = sumNativeMarkerDetection/nativeMarkerDetectionHistory.size(); sumNativeMarkerDetection = 0; } else { artoolkit_detectmarkers(curFrame, transMatMonitor); } timeJavaMarkerDetection = System.currentTimeMillis() - tick; javaMarkerDetectionHistory.add(timeJavaMarkerDetection); if(javaMarkerDetectionHistory.size()>20){ javaMarkerDetectionHistory.remove(0); } for(int i = 0;i<javaMarkerDetectionHistory.size();i++){ sumJavaMarkerDetection += javaMarkerDetectionHistory.elementAt(i); } avgJavaMarkerDetection = sumJavaMarkerDetection/javaMarkerDetectionHistory.size(); sumJavaMarkerDetection = 0; } DebugFps.updateFPS(); try { wait(); } catch (InterruptedException e) { } } } 

iOS在iOS中,我正在使用VRToolkit查找每个标记的ID 。此应用程序使用ARToolKit plus来检测video帧上的标记。

将相应的属性设置为YES并获取每个标记ID后,我可以扫描所有4096 BCH标记以及基于标记的薄标记。

在Android中,我面临着问题。

请让我知道是否需要更多的信息来了解这个问题。 如果缺乏帮助或指导,我将非常感激。

任何你使用ARToolkitPlusBenchmark来达到这个目的的理由? 您是否尝试过查看http://code.google.com/p/andar/

Andar也使用ARToolkit ,如果你看到ARObject类 – 它可以给你属于这个对象的标记的id。