首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ml5错误:传递给tf.browser.fromPixels()的像素不能为空

ml5错误:传递给tf.browser.fromPixels()的像素不能为空
EN

Stack Overflow用户
提问于 2020-10-08 07:05:51
回答 1查看 443关注 0票数 1

我已经根据这个tutorial用p5.js和ml5.js创建了一个非常简单的脚本。

在设置功能中,单击按钮后,我会将图像添加到分类器中。然而,当我点击按钮时,我得到了像素错误。下面是我的目录的样子

代码语言:javascript
复制
let pinkButton
console.log('ml5 version:', ml5.version);

function gotResults(error, results) {
  console.log("ERROR", error);
}

function setup() {
  mobileNet = ml5.featureExtractor('MobileNet')
  classifier = mobileNet.classification()
  pinkButton = createButton('add pink')
  pinkButton.mousePressed(function() {
    classifier.addImage('./images/pink/1.png', 'pink')
    classifier.addImage('./images/pink/2.png', 'pink')
    classifier.addImage('./images/pink/3.png', 'pink')
  })
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/p5.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/addons/p5.dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/addons/p5.sound.min.js"></script>
<!-- ml5 -->
<script src="https://unpkg.com/ml5@0.4.3/dist/ml5.min.js"></script>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-09 04:28:47

addImage添加HTMl imageElement,而不是url。因此,要添加图像,可以将图像加载到页面中并对其进行查询,或者需要创建一个新图像。

选项1:镜像已加载

代码语言:javascript
复制
image = document.querySelector("use-css-selector")
classifier.addImage(image, label)

选项2:创建新镜像

代码语言:javascript
复制
function load(url){
  return new Promise((resolve, reject) => {
    const im = new Image()
        im.crossOrigin = 'anonymous'
        im.src = 'url'
        im.onload = () => {
          resolve(im)
        }
   })
}

image = await load(url)
classifier.addImage(image, label)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64253509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档