В эту строку нужно вставить ширину и высоту изображения
image1.drawImage(img2, eyesRect[0], eyesRect[1], ШИРИНА, ВЫСОТА);
как получить эти цифры для изображения
img2.src = '/upload/c376b.png';
Полный код
$(document).ready(function() {
const video = $('#webcam')[0];
const ctrack = new clm.tracker();
ctrack.init();
const overlay = $('#overlay')[0];
const overlayCC = overlay.getContext('2d');
function trackingLoop() {
requestAnimationFrame(trackingLoop);
let currentPosition = ctrack.getCurrentPosition();
overlayCC.clearRect(0, 0, 800, 600);
if (currentPosition) {
// ctrack.draw(overlay);
};
if (currentPosition) {
const eyesRect = getEyesRectangle(currentPosition);
overlayCC.strokeStyle = 'transparent';
// overlayCC.strokeStyle = 'red';
overlayCC.strokeRect(eyesRect[0], eyesRect[1], eyesRect[2], eyesRect[3]);
var img2=new Image(); // Создаём изображение
img2.src = '/upload/c376b.png';
var canvas=document.getElementById("lenses")
var image1=overlay.getContext("2d");
image1.drawImage(img2, eyesRect[0], eyesRect[1], ШИРИНА, ВЫСОТА);
console.log(eyesRect);
}
}
function onStreaming(stream) {
video.srcObject = stream;
ctrack.start(video);
trackingLoop();
}
navigator.mediaDevices.getUserMedia({ video: true }).then(onStreaming);
});
function getEyesRectangle(positions) {
const minX = positions[0][0] + 0;
const maxX = positions[14][0] + 0;
const minY = positions[22][1] + 0;
const maxY = positions[34][1] + 0;
const width = maxX - minX;
const height = maxY - minY;
return [minX, minY, width, height];
}