Как получить MarkerId в Artoolkitplus в Android

Я использую ARToolkitPlusBenchmark для сканирования AR Tag Marker. Я могу легко обнаружить все маркеры 4096 BCH. Но моя проблема в том, что я не могу понять, как определить каждый идентификатор маркера BCH?

Я нашел код отсюда 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, чтобы найти идентификатор каждого маркера. Это приложение использует ARToolKit plus для обнаружения маркеров на видеокадрах.

Я могу отсканировать все маркеры 4096 BCH, а также тонкий маркер после установки соответствующего свойства в YES и получения каждого идентификатора маркера.

В Android я сталкиваюсь с проблемой.

Пожалуйста, дайте мне знать, если вам нужно больше информации, чтобы понять эту проблему. Я буду очень благодарен за любую помощь или руководство.

1 ответ

Любая причина, почему вы используете ARToolkitPlusBenchmark для достижения этой цели? Вы пытались смотреть на http://code.google.com/p/andar/

Андар также использует ARToolkit и, если вы видите класс ARObject - он может дать вам идентификатор для маркера, принадлежащего этому объекту.

Другие вопросы по тегам