Track-mate уникальное считывание штрих-кода

У меня есть программа, которую я хочу запустить на трассе

Система Track-Mate идентифицирует объект через веб-камеру, которая подключена к ПК. Мы размещаем веб-камеру под листом плексигласа (прозрачная поверхность, предназначенная для детей), чтобы отслеживать штрих-код и возвращать цифровую обратную связь на устройство Track-mate...

штрих-код сохраняется в базе данных в формате String, но наша проблема в том, что показания штрих-кода различаются при каждом перемещении объекта на поверхности, что делает его не уникальным для конкретного объекта. что мы можем сделать, чтобы решить эту проблему?

Источники программы:

//LusidOSC a layer that reads tags from a webcam and send the result to any application 
    public LusidOSCJavaApp(){
            // create the client, on port 3333.
            lusidClient = new LusidClient(this, 3333);
            System.out.println("lusid osc java app ");
            System.out.println(View.getisRunning());
            while(View.getisRunning()){//SOME CODE TO DO}

    // ---------------------------------------------------------------
        // these methods are called whenever a LusidOSC event occurs.


        // called when an object is added to the scene
        public void addLusidObject(LusidObject lObj) {
            System.out.println("add lusid object");

        //when object is added we add an instance of the object to lusidObj arraylist 
       lusidArr.add(lObj);

          //The problem is here because the ID isn't unique (but it should be unique...)
       if(lObj.getUniqueID().equals("0x111111AA1111"))  {
          System.out.println("you put the right shape");}
            else{
         System.out.println("error");}

         System.out.println("add object: "+lObj.getUniqueID());
         System.out.println("  location = 
         ("+lObj.getX()+","+lObj.getY()+","+lObj.getZ()+")");
           System.out.println("  rotation = 
        ("+lObj.getRotX()+","+lObj.getRotY()+","+lObj.getRotZ()+")");
           System.out.println("data = 
          ("+lObj.getEncoding()+","+lObj.getData()+")");
         System.out.println("#######################################");
         System.out.println(lusidArr.size());

        }

    // called when an object is removed from the scene
        public void removeLusidObject(LusidObject lObj) {
            lusidArr.remove(lObj);
            System.out.println("remove object: "+lObj.getUniqueID());
        }

        // called when an object is moved
        public void updateLusidObject (LusidObject lObj) {
            //System.out.println("update object: "+lObj.getUniqueID());

    ArrayList<LusidObject> currentLusidList = new ArrayList<LusidObject>
    (Arrays.asList(lusidClient.getLusidObjects()));

Ссылка для скачивания + источник: Trackmate

0 ответов

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