gpt4 book ai didi

javascript - 使用 Face-api.js 检测人脸时出错 预期媒体类型为 HTMLImageElement | HTML视频元素 | HTML Canvas 元素

转载 作者:行者123 更新时间:2023-11-30 19:29:45 25 4
gpt4 key购买 nike

我不明白我应该如何将 HTMLImageElement 发送到 face-api.js 的检测例程。我正在使用 node-red 来实现这个实现..

我有这个错误:

UnhandledPromiseRejectionWarning: Error: toNetInput - expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id at /root/.node-red/node_modules/tfjs-image-recognition-base/build/commonjs/dom/toNetInput.js

这是我正在使用的代码:

var fa = global.get('faceapi');
var ca = global.get('canvas');

const {Image, loadImage, ImageData,createCanvas,HTMLCanvasElement,HTMLImageElement } = ca;

fa.env.monkeyPatch({
Image: HTMLImageElement
})

//Load all the models ...
Promise.all([
fa.nets.ssdMobilenetv1.loadFromDisk('/home/models'),
fa.nets.faceRecognitionNet.loadFromDisk('/home/models'),
fa.nets.faceLandmark68Net.loadFromDisk('/home/models'),
]).then(Detector).catch((error) => node.warn(error));


function Detector(){
ca.loadImage('URL OF MY PICTURE').then((image) =>
{
let detection = fa.detectSingleFace(image).withFaceLandmarks().withFaceDescriptor().then((detect) => {
if(detect){
node.warn('DETECTED..!');
}
});
}).catch((error) => node.warn(error) );
}

最佳答案

我遇到了同样的问题,发现我没有向 detectSingleFace() 函数发送正确的参数。我不知道代码中的 image 值是什么(加载图像后),但请确保您发送的是 HTML 元素(视频、 Canvas 或图像)。

例如:

<img id="image" src="data:image/png;base64,iVB...." alt="image">

注意图像应该是 base64。

如果问题仍然存在,您可以尝试运行 repo 项目并查看数据是如何处理的,至少这对我来说对 examples-browser 文件夹有效。

希望对你有帮助

关于javascript - 使用 Face-api.js 检测人脸时出错 预期媒体类型为 HTMLImageElement | HTML视频元素 | HTML Canvas 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56547094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com