xxxxxxxxxx
72
let positions;
let videoInput;
let tf = "...........................";
let cnv;
let j = 0;
function setup() {
// setup camera capture
videoInput = createCapture(VIDEO);
videoInput.size(1000, 800);
videoInput.position(0, 0);
// setup canvas
cnv = createCanvas(1000, 800);
cnv.position(0, 0);
// setup tracker
ctracker = new clm.tracker();
ctracker.init(pModel);
ctracker.start(videoInput.elt);
// setup emotion classifier
classifier = new emotionClassifier();
classifier.init(emotionModel);
emotionData = classifier.getBlank();
tf = tf.split('');
}
function draw() {
// get array of face marker positions [x, y] format
positions = ctracker.getCurrentPosition();
parameters = ctracker.getCurrentParameters();
if (positions) {
outputX = positions[62][0];
outputY = positions[62][1];
// for face size
let minX = width;
let maxX = 0;
let minY = height;
let maxY = 0;
for (var i = 0; i < positions.length; i++) {
// draw face landmarks
stroke(0);
fill(0);
text(tf[j], positions[i][0], positions[i][1]);
j++;
if (j >= text.length) {
j = 0;
}
}
// draw nose position
noStroke();
fill(0, 255, 255);
ellipse(outputX, outputY, 10, 10);
pop();
}
}