test frame chaching

This commit is contained in:
Ruben van de Ven 2020-09-28 13:18:32 +02:00
parent f1a60d4dee
commit 9e90aada94

View file

@ -96,6 +96,7 @@ var drawMask = function(detection) {
let faceapi; let faceapi;
var video; var video;
var lastFrame; var lastFrame;
var frameToDetect;
var detections = []; var detections = [];
var factor_x, factor_y; var factor_x, factor_y;
@ -145,6 +146,7 @@ function setup() {
video = createCapture(constraints); video = createCapture(constraints);
lastFrame = createGraphics(video.width, video.height); lastFrame = createGraphics(video.width, video.height);
frameToDetect = createGraphics(video.width, video.height);
// console.log(video); // console.log(video);
// HeadGazeSetup(video); // HeadGazeSetup(video);
@ -157,6 +159,7 @@ function setup() {
} }
function modelReady() { function modelReady() {
frameToDetect.image(video, 0,0, video.width, video.height);
faceapi.detect(gotResults); faceapi.detect(gotResults);
} }
@ -175,16 +178,19 @@ gotResults = function(err, result) {
// store data for async draw function // store data for async draw function
// TODO results to more compatible format // TODO results to more compatible format
lastFrame.image(frameToDetect, 0,0, video.width, video.height);
detections = parseDetectionResults(result); detections = parseDetectionResults(result);
// size of video becomes known only after camera approval // size of video becomes known only after camera approval
if(lastFrame.width != video.width || lastFrame.height != video.height){ if(lastFrame.width != video.width || lastFrame.height != video.height){
// console.log('Resizing canvas'); // console.log('Resizing canvas');
lastFrame.resizeCanvas(video.width, video.height); lastFrame.resizeCanvas(video.width, video.height);
frameToDetect.resizeCanvas(video.width, video.height);
} }
// lastFrame.background('red'); // lastFrame.background('red');
lastFrame.image(video, 0,0, video.width, video.height); frameToDetect.image(video, 0,0, video.width, video.height);
factor_x = width / video.width; factor_x = width / video.width;
factor_y = height / video.height; factor_y = height / video.height;