xxxxxxxxxx
88
let video;
let poseNet;
let poses = [];
let trails = [];
let a = 0;
let mic;
let move = 0;
let xRange = 50;
let yRange = 20;
let ready = false;
let x;
let y;
function modelReady() {
console.log("Model Is Ready!!!")
ready = true;
}
function micReady() {
if(error) {
console.error(error)
} else {
console.log("Mic is Ready!!!")
}
}
function setup() {
createCanvas(640, 480);
background(220);
angleMode(DEGREES);
video = createCapture(VIDEO);
video.size(width, height);
//video.hide();
poseNet = ml5.poseNet(video, modelReady);
poseNet.on('pose', function(results) {
poses = results;
});
}
function draw() {
//background(185);
let sideX = constrain(width/2 - x , -xRange, xRange);
let sideY = constrain(y - height/2 , -yRange, yRange);
let edgeX = map(sideX, -xRange, xRange, -width/2, width/2);
let edgeY = map(sideY, -yRange, yRange, -height/2, height/2);
//image(video, 0, 0, width, height);
stroke(255);
line(width/2, 0,width/2, height);
drawKeypoints();
// ellipse(width/2 + side, height/2, 24);
noStroke();
ellipse(width/2 + edgeX, height/2 + edgeY, 24);
console.log(y);
}
function drawKeypoints() {
// Loop through all the poses detected
for (let i = 0; i < poses.length; i++) {
// For each pose detected, loop through all the keypoints
let pose = poses[i].pose;
for (let j = 0; j < pose.keypoints.length; j++) {
// A keypoint is an object describing a body part (like rightArm or leftShoulder)
let keypoint = pose.keypoints[j];
if (poses[0].pose.keypoints[0].score > 0.2) {
x = poses[0].pose.keypoints[0].position.x;
y = poses[0].pose.keypoints[0].position.y;
// ellipse(x, poses[0].pose.keypoints[0].position.y, 24);
}
}
}
}