xxxxxxxxxx
58
let capture;
let tracker;
let positions;
let img;
function setup() {
createCanvas(windowWidth, windowHeight);
capture = createCapture(VIDEO);
capture.size(width, height);
capture.hide();
tracker = new clm.tracker();
tracker.init();
tracker.start(capture.elt);
}
function draw() {
image(capture, 0, 0, width, height);
let positions = tracker.getCurrentPosition();
noStroke();
if (positions.length > 0) { // evaluates if there is something in the array positions
noStroke();
// left eye
fill(255,255,255);
quad(positions[23][0], positions[23][1], positions[63][0], positions[63][1], positions[64][0], positions[64][1], positions[25][0], positions[25][1]);
quad(positions[23][0], positions[23][1], positions[25][0], positions[25][1], positions[65][0], positions[65][1],positions[66][0], positions[66][1]);
//right eye
fill(255,255,255);
quad(positions[30][0], positions[30][1], positions[68][0], positions[68][1], positions[67][0], positions[67][1], positions[28][0], positions[28][1]);
quad(positions[30][0], positions[30][1], positions[69][0], positions[69][1],positions[70][0], positions[70][1], positions[28][0], positions[28][1]);
//eye balls
fill(0);
ellipse(positions[27][0], positions[27][1], 15, 15);
ellipse(positions[32][0], positions[32][1], 15, 15)
//nose
fill(255, 187, 153);
triangle(positions[36][0], positions[36][1], positions[33][0], positions[33][1], positions[38][0], positions[38][1]);
//mouth
fill(255, 128, 128);
quad(positions[44][0], positions[44][1], positions[45][0], positions[45][1], positions[49][0], positions[49][1], positions[50][0], positions[50][1]);
quad(positions[44][0], positions[44][1], positions[55][0], positions[55][1], positions[51][0], positions[51][1], positions[50][0], positions[50][1]);
}
}