我在编写cocossd教程时,似乎找不到一种方法来获得检测到的东西周围的方块。
下面是js代码:
let img;
let detector;
function preload() {
img = loadImage("images/penguin.jpg");
detector = ml5.objectDetector("cocossd");
}
function gotDetections(error, results) {
if (error) {
console.error(error);
}
console.log(results);
for (let i = 0; i < results.length; i++) {
let object = results[i];
console.log(object.x, object.y, object.width, object.height);
stroke("green");
strokeWeight(4);
noFill();
rect(object.x, object.y, object.width, object.height);
noStroke();
fill(255);
textSize(24);
text(object.label, object.x + 10, object.y + 24);
}
}
function setup() {
createCanvas(640, 480);
image(img, 0, 0, width, height);
detector.detect(img, gotDetections);
}
我已经在屏幕上得到了企鹅的图像,它应该在画布上的位置,我有对象.x,对象.y,对象.宽度,对象.高度。正确地记录,我只是不明白为什么gotDetections函数中的绘图材料没有一个组合不起作用。
我尝试了所有的组合,我在html主体中有这两个CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
<script src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>
我不知道我做错了什么。
1条答案
按热度按时间idv4meu81#
改变画布大小以匹配图像大小在我的系统上工作可靠。我从网上下载了一张小企鹅图像,它正确地将其识别为一只鸟,并用绿色的盒子框住它。