xxxxxxxxxx
52
// Copyright (c) 2019 ml5
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
/* ===
ml5 Example
PoseNet example using p5.js
=== */
let video;
let poseNet;
let poses = [];
let noseX = 0;
let noseY = 0;
function setup() {
createCanvas(640, 480);
// load up your video
video = createCapture(VIDEO);
video.size(width, height);
// Create a new poseNet method with a single detection
poseNet = ml5.poseNet(video, modelReady);
// Hide the video element, and just show the canvas
video.hide();
}
function modelReady() {
select('#status').html('Model Loaded');
poseNet.on('pose', gotPose);
// This sets up an event that fills the global variable "poses"
}
function gotPose(results) {
poses = results;
// with an array every time new poses are detected
if (! poses || poses.length < 1) return;
//leave this function if the results don't look right
//console.log(poses[0].pose.nose.x);
noseX = poses[0].pose.nose.x;
noseY = poses[0].pose.nose.y;
}
function draw() {
image(video, 0, 0, width, height);
fill(255,0,0);
ellipse(noseX, noseY, 20,20);
}