xxxxxxxxxx
47
//https://bit.ly/NoseNet
let video;
let poseNet;
let poses = [];
let oldNoseX = 0;
let oldNoseY = 0;
let oldDistance = 0;
function setup() {
createCanvas(640, 480);
video = createCapture(VIDEO);
video.size(width, height);
video.hide();
poseNet = ml5.poseNet(video, modelLoaded);
poseNet.on("pose", gotResults);
}
function draw() {
background(220);
image(video, 0, 0);
drawKeypoints();
}
function modelLoaded() {
console.log("Model Loaded");
}
function gotResults(results) {
poses = results;
}
function drawKeypoints() {
for (let i = 0; i < poses.length; i++) {
let pose = poses[i].pose;
let nose = pose.keypoints[0].position;
let leftEye = pose.keypoints[1].position;
let rightEye = pose.keypoints[2].position;
fill(255, 0, 0);
noStroke();
let distance = dist(leftEye.x, leftEye.y, rightEye.x, leftEye.y);
ellipse(lerp(oldNoseX, nose.x, 0.5), lerp(oldNoseY, nose.y, 0.5), lerp(oldDistance, distance, 0.5), lerp(oldDistance,distance,0.5));
oldNoseX = nose.x;
oldNoseY = nose.y;
oldDistance = distance;
}
}