Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将文件转换为HTMLImageElement_Javascript_Html_Node.js_Image_Tensorflow - Fatal编程技术网

Javascript 将文件转换为HTMLImageElement

Javascript 将文件转换为HTMLImageElement,javascript,html,node.js,image,tensorflow,Javascript,Html,Node.js,Image,Tensorflow,我有一个相当困难的任务要解决,所以我正在构建人脸识别和人脸检测需要HTMLImageElement作为参数,但问题是我不能安装节点画布来填充它,所以我需要另一种方法来更改从客户端发送到HTMLImageElement的文件,有什么方法可以做到吗?以及polyfill画布。这是我的密码 const imgBuffer = await sharp(path.resolve(__dirname, '..', 'queryImages', file.filename))/*.toBuffer()

我有一个相当困难的任务要解决,所以我正在构建人脸识别和人脸检测需要HTMLImageElement作为参数,但问题是我不能安装
节点画布
来填充它,所以我需要另一种方法来更改从客户端发送到HTMLImageElement的文件,有什么方法可以做到吗?以及polyfill画布。这是我的密码

    const imgBuffer = await sharp(path.resolve(__dirname, '..', 'queryImages', file.filename))/*.toBuffer()*/;
    //const imgTensor = faceapi.tf.tensor3d(new Uint8Array(imgBuffer), [480,640,3]);
    const detections = await faceapi.detectAllFaces(imgBuffer);
和错误

(节点:3620)未处理的PromiserEjectionWarning:错误:toNetInput-预期媒体类型为HTMLImageElement | HTMLVideoElement | HtmlCanvaElement | tf.Tensor3D,或为元素id


我猜您从tensorflow.js获取了一个经过训练的模型,但它们并没有使用node运行

如果要将示例用于节点,则需要事先使用tensorflow准备图像:

const tf = require('@tensorflow/tfjs-node');
const util = require('util');
const fs = require('fs');

const readImg = util.promisify(fs.readFile);

const img = await readImg('./<pathToYourImage>/<yourImage>.jpg');
const adaptedImg = tf.node.decodeImage(img, 3);
const model = await <someModel>.load();
const predictions = await model.detect(adaptedImg);
const tf=require(“@tensorflow/tfjs node”);
const util=require('util');
常数fs=要求('fs');
const readImg=util.promisify(fs.readFile);
常量img=等待读取img('./.jpg');
const adaptedImg=tf.node.decodeImage(img,3);
const model=await.load();
常数预测=等待模型检测(adaptedImg);

我猜您从tensorflow.js中获取了一个经过训练的模型,但它们不使用node运行

如果要将示例用于节点,则需要事先使用tensorflow准备图像:

const tf = require('@tensorflow/tfjs-node');
const util = require('util');
const fs = require('fs');

const readImg = util.promisify(fs.readFile);

const img = await readImg('./<pathToYourImage>/<yourImage>.jpg');
const adaptedImg = tf.node.decodeImage(img, 3);
const model = await <someModel>.load();
const predictions = await model.detect(adaptedImg);
const tf=require(“@tensorflow/tfjs node”);
const util=require('util');
常数fs=要求('fs');
const readImg=util.promisify(fs.readFile);
常量img=等待读取img('./.jpg');
const adaptedImg=tf.node.decodeImage(img,3);
const model=await.load();
常数预测=等待模型检测(adaptedImg);