xxxxxxxxxx
70
// Copyright (c) 2019 ml5
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
/* ===
ml5 Example
Image classification using MobileNet and p5.js
This example uses a callback pattern to create the classifier
=== */
// Initialize the Image Classifier method with MobileNet. A callback needs to be passed.
let classifier;
let chosen;
// A variable to hold the image we want to classify
let img;
let allImg = []
let divLabel;
let divConfidence;
function preload() {
classifier = ml5.imageClassifier('MobileNet');
// allImg.push(loadImage('images/rabbit.jpeg'));
// allImg.push(loadImage('images/cow.jpeg'));
// allImg.push(loadImage('images/z.jpeg'));
// allImg.push(loadImage('images/tcn.jpeg'));
// allImg.push(loadImage('images/ttle.jpeg'));
// allImg.push(loadImage('images/dont_know.jpeg'));
allImg.push(loadImage('puffins/p0.jpeg'));
allImg.push(loadImage('puffins/p1.jpeg'));
allImg.push(loadImage('puffins/p2.jpeg'));
allImg.push(loadImage('puffins/p3.jpeg'));
allImg.push(loadImage('puffins/p4.jpeg'));
allImg.push(loadImage('puffins/p5.jpeg'));
allImg.push(loadImage('puffins/p0.jpeg'));
allImg.push(loadImage('puffins/p6.jpeg'));
allImg.push(loadImage('puffins/p7.jpeg'));
allImg.push(loadImage('puffins/p8.jpeg'));
allImg.push(loadImage('puffins/p9.jpeg'));
chosen = Math.floor(Math.random() * allImg.length);
}
function setup() {
createCanvas(600, 400);
classifier.classify(allImg[chosen], gotResult);
image(allImg[chosen], 0, 0, width - 50, height - 50);
divLabel = createDiv('Label: processing...');
divConfidence = createDiv('Confidence: processing...');
}
// A function to run when we get any errors and the results
function gotResult(error, results) {
// Display error in the console
if (error) {
console.log('aaa ', error);
}
// The results are in an array ordered by confidence.
console.log(results)
divLabel.html('Label: ' + results[0].label);
divConfidence.html('Confidence: ' + results[0].confidence);
}
function mousePressed() {
var randomNumber = floor(random(0, allImg.length));
image(allImg[randomNumber], 0, 0, width - 50, height - 50);
classifier.classify(allImg[randomNumber], gotResult);
}