(clmtrackr.js) - Как остановить отслеживание лица и удалить точки лица с холста? - PullRequest
0 голосов
/ 17 января 2019

Привет всем, для своего проекта я использую clmtrackr.js и не знаю, как остановить его и очистить холст, чтобы можно было запустить другой алгоритм обнаружения лиц.

  • То, что я использую для открытия библиотеки, показано ниже:

    function feature_Clmtrackr_js(){ /* RUNS IN A LOOP */
    
       /* DECLARE VARIABLES ONCE */
       if(clmtrackr_js_Mode === false){ //Check if the variables are already declared
    
          editingCanvas_Context = document.getElementById("editingCanvas-element").getContext('2D');
    
          feature_Clmtrackr_js_Tracker = new clm.tracker(); //Open Library
          feature_Clmtrackr_js_Tracker.init();
    
          clmtrackr_js_Mode = true; //Set to TRUE - Do not declare those variables again
       }
    
       /* INFORM USER WITH ALERT MESSAGE */
       alert("\n\n     Diactivating: [ Default, Tracking.js , TensorFlow.js ]\n\n     Activating   : [ clmtrackr.js ]"); 
    
       /* DO THIS EVERY FRAME */
       var positions;
    
       drawLoop = function() {
    
          feature_Clmtrackr_js_Tracker.start( 
              document.getElementById("editingCanvas-element"));
          requestAnimationFrame(drawLoop);
    
          // get array of face marker positions [x, y] format
          positions = feature_Clmtrackr_js_Tracker.getCurrentPosition();
    
          for (var i=0; i<positions.length; i++) {
    
             // draw ellipse at each position point
             ellipse(positions[i][0], positions[i][1], 5, 5);
             //set the color of the ellipse based on position on screen
             fill(
                map(positions[i][0], width*0.33, width*0.66, 0, 255), 
                map(positions[i][1], height*0.33, height*0.66, 0, 255), 
                255
             );
          }
       };
    
       drawLoop();
    }
    
  • Чтобы остановить алгоритм отслеживания, я попробовал метод ниже, который не работал:

    function stop_feature_tracking_js(){
    
       //Check if tracking variables have been declared
       if(tracking_js_Activation === true) {   
          feature_Tracking_js_FaceTracker.stop(); //Stop tracking.js
          tracking_js_Activation = false; //Set boolean to false
       }
    }
    

Если у вас есть идеи, как остановить / сбросить / отключить / деактивировать clmtrackr.js, пожалуйста, дайте мне знать!

...