javascript 在编写编码培训的cocossd教程时,我似乎找不到一种方法来获得检测到的东西周围的方块

x759pob2  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(71)

我在编写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>

我不知道我做错了什么。

idv4meu8

idv4meu81#

改变画布大小以匹配图像大小在我的系统上工作可靠。我从网上下载了一张小企鹅图像,它正确地将其识别为一只鸟,并用绿色的盒子框住它。

function setup() {
  createCanvas(img.width, img.height);
  image(img, 0, 0);
  detector.detect(img, gotDetections);
}

相关问题