Привет всем, для своего проекта я использую 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, пожалуйста, дайте мне знать!