Я использую jsdom для имитации HTML DOM, чтобы получить позу с картинки. Я тоже хочу сделать это с видео, но JSDOM не поддерживает это. Есть ли альтернативный способ обойти это?
const { JSDOM } = require("jsdom");
const { Canvas, createCanvas, Image, ImageData, loadImage } = require("canvas");
const posenet = require('@tensorflow-models/posenet');
require('@tensorflow/tfjs-node');
async function estimatePoseOnImage(image) {
// load the posenet model from a checkpoint
const net = await posenet.load();
const pose = await net.estimateSinglePose(image, {
flipHorizontal: false
});
return pose;
}
function installDOM() {
const dom = new JSDOM();
global.document = dom.window.document;
global.Image = Image;
global.HTMLCanvasElement = Canvas;
global.ImageData = ImageData;
global.HTMLImageElement = Image;
}
async function main() {
installDOM();
const img = await loadImage("/path/to/pic.png");
pose = await estimatePoseOnImage(img);
console.log(pose);
}
main();