xxxxxxxxxx
37
// ImageClassifierCameraText (c) 2021 kouichi.matsuda@gmail.com
let clf; // 分類器
let camera; // カメラ画像
let label = ""; // 結果のラベル
let confidence = 0.0; // 信頼度
function setup() {
createCanvas(480, 360);
camera = createCapture(VIDEO);
clf = ml5.imageClassifier("MobileNet", modelLoaded); // 分類器の用意
camera.hide();
}
function draw() {
image(camera, 0, 0, width, height); // カメラ画像の表示
fill(0, 0, 0, 128);
noStroke();
rect(0, 0, width, 50); // 四角形の描画
fill(255);
text("推論結果:" + label, 10, 20); // 結果の描画
text("確信度:" + confidence, 10, 40); // 信頼度の描画
}
function modelLoaded() { // モデルの読込みが完了した
clf.classify(camera, gotResult); // カメラ画像の分類
}
function gotResult(err, r) { // 分類結果の処理
if (err) {
console.error(err);
} else {
label = r[0].label; // draw()で描画できるように
confidence = r[0].confidence;
clf.classify(camera, gotResult); // 画像を分類する
}
}