xxxxxxxxxx
68
let classifier;
let featureExtractor;
let capture;
let penButton;
let micButton;
let trainButton;
let predictButton;
let numPenImages = 0;
let numMicImages = 0;
let paragraph;
function setup() {
noCanvas();
capture = createCapture(VIDEO);
capture.size(400, 300);
featureExtractor = ml5.featureExtractor('MobileNet', modelReady);
classifier = featureExtractor.classification(capture, videoReady);
setupButtons();
}
function modelReady() {
print('Model is ready!');
}
function videoReady() {
print('Video is ready!');
}
function setupButtons() {
penButton = createButton('happy');
penButton.mousePressed(function() {
numPenImages++;
print(numPenImages);
classifier.addImage('happy');
});
micButton = createButton('sad');
micButton.mousePressed(function() {
numMicImages++;
print(numMicImages);
classifier.addImage('sad');
});
trainButton = createButton('train');
trainButton.mousePressed(function() {
classifier.train(function(lossValue) {
if (lossValue) {
print(lossValue);
} else {
print('Done Training!');
}
});
});
predictButton = createButton('predict');
predictButton.mousePressed(classify);
paragraph = createP('');
}
function classify() {
classifier.classify(processResults);
}
function processResults(err, result) {
if (err) {
console.error(err)
} else {
paragraph.html(result);
classify();
}
}