Я использую face-api, чтобы создать расширение chrome, которое подсчитывает количество улыбок. Прямо сейчас у меня есть обнаружение и подсчет всего, что сделано во всплывающем окне. js. И это работает в расширении chrome, когда я нажимаю значок. Тем не менее, он только распознает лицо и подсчитывает количество улыбок, только когда нажата иконка и появляется всплывающее окно с камерой. В закрытом состоянии он перестает распознавать лицо. Но даже когда всплывающее окно закрыто, моя камера все еще включена.
Есть ли способ, чтобы продолжать обнаруживать и подсчитывать количество улыбок, которые я делаю, с закрытым всплывающим окном, и во всплывающем окне будет отображаться только количество улыбок при нажатии на значок?
Я попытался переместить мой код обнаружения в фоновый режим и отправить сообщение о количестве улыбок при нажатии значка во всплывающем окне, однако я думаю, что browserAction.onClicked.addListener не работает с всплывающими окнами. Также мой фоновый код не регистрирует результаты, возможно, потому что нет данных камеры?
Это мой фоновый код
function startVideo() { navigator.getUserMedia(
{ video: {} },
stream => (video.srcObject = stream),
err => console.error(err) ); } video.addEventListener("playing", () => { const canvas = faceapi.createCanvasFromMedia(video); document.body.append(canvas);
const displaySize = { width: video.width, height: video.height }; faceapi.matchDimensions(canvas, displaySize);
setInterval(async () => {
const detections = await faceapi
.detectAllFaces(video, new faceapi.TinyFaceDetectorOptions())
.withFaceLandmarks()
...
Дайте мне знать, что Я могу сделать, спасибо!