Я недавно спрашивал о распознавании изображений и обнаружил, что JavaScript имел простой в использовании и удобный для новичков способ сделать это с помощью tenorflow. js. Мне удалось использовать примерный код для интересной модели, которую я нашел под названием coco-ssd. Он работает очень хорошо и возвращает данные для прогнозов (возвращает массив из четырех точек, охватывающих предмет) и все, но теперь у меня есть проблема с его использованием. Для целей, которые я хочу, я хотел бы иметь возможность рисовать ограничивающую рамку вокруг человека в кадре или, по крайней мере, знать координаты в пикселях исходного изображения (изменение размера было реальной проблемой). Я не знаю, что делать, потому что все учебники, которые я видел, используют элемент <canvas>
. Когда я пытаюсь использовать это, холст никогда не отображается должным образом. Вот код (для удобства я переместил код из отдельного файла в теги скрипта):
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"> </script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/coco-ssd"> </script>
<!-- replace 'Lenin.jpg' with a local file in the same folder as this program -->
<img id="img" src="Lenin.jpg" crossorigin="anonymous"/>
<script>
const img = document.getElementById('img');
cocoSsd.load().then(model => {
model.detect(img).then(predictions => {
console.log('Predictions: ', predictions);
});
});
</script>
Буду признателен за любую помощь!