xxxxxxxxxx
63
let mobilenet;
let video;
let label = '';
let detections = [];
function modelReady() {
console.log('Model is ready!!!');
mobilenet.detect(gotResults);
}
function gotResults(error, results) {
if (error) {
console.error(error);
} else {
detections = results;
mobilenet.detect(gotResults);
}
}
function setup() {
video = createCapture(VIDEO, function() {
createCanvas(video.width, video.height);
background(0);
mobilenet = ml5.objectDetector('cocossd', video, modelReady);
});
video.hide();
}
function draw() {
background(0);
let personCount = 0; // Variable zur Zählung der Personen
if (detections) {
image(video, 0, 0);
fill(255);
textSize(32);
for (let i = 0; i < detections.length; i++) {
let object = detections[i];
if (object.label === 'person') {
let x = object.x;
let y = object.y;
let w = object.width;
let h = object.height;
noFill();
stroke(255, 0, 0);
strokeWeight(2);
rect(x, y, w, h);
personCount++; // Zähle jede erkannte Person
}
}
// Anzahl der Personen anzeigen
fill(255);
textSize(20);
text('Anzahl der Personen: ' + personCount, 10, 30);
} else {
// Zeige eine Meldung an, während die Objekterkennung läuft
fill(255);
textSize(32);
textAlign(CENTER, CENTER);
text('Lade...', width / 2, height / 2);
}
}