我已经根据这个tutorial用p5.js和ml5.js创建了一个非常简单的脚本。
在设置功能中,单击按钮后,我会将图像添加到分类器中。然而,当我点击按钮时,我得到了像素错误。下面是我的目录的样子

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')
})
}<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>
发布于 2020-10-09 04:28:47
addImage添加HTMl imageElement,而不是url。因此,要添加图像,可以将图像加载到页面中并对其进行查询,或者需要创建一个新图像。
选项1:镜像已加载
image = document.querySelector("use-css-selector")
classifier.addImage(image, label)选项2:创建新镜像
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)https://stackoverflow.com/questions/64253509
复制相似问题