HTML5 getUserMedia не работает с научной c микроскопической камерой Lumenera - PullRequest
1 голос
/ 10 марта 2020

Я использую микроскопическую камеру Lumenera INFINITY1-2 (https://www.lumenera.com/infinity1-2.html) и из описания камеры говорит, что она может быть интегрирована в сторонние программные пакеты с помощью поддержки TWAIN. Я пытаюсь захватить изображение с веб-страницы, используя HTML5, но это выдает ошибку. Я также пытался проверить потоковое видео с помощью Adobe Fla sh, но поток с камеры не отображается должным образом, а снятые изображения довольно повреждены (фактически они пусты)

Я проверил драйверы камеры, и все они установлены и работают. Нативное приложение камеры также хорошо захватывает изображения.

Вопрос, возможно ли захватывать изображения в веб-браузере с такой камеры? Он распознается браузером как устройство, но видеопоток не работает.

Пожалуйста, смотрите ниже скрипт (код отсюда https://github.com/jhuckaby/webcamjs/blob/master/DOCS.md)

Заранее спасибо

        window.addEventListener("load", function () {
            // [1] GET ALL THE HTML ELEMENTS
            var video = document.getElementById("vid-show"),
                canvas = document.getElementById("vid-canvas"),
                take = document.getElementById("vid-take");
            navigator.mediaDevices.getUserMedia({ video: true })
                .then(function (stream) {
                    // [3] SHOW VIDEO STREAM ON VIDEO TAG
                    video.srcObject = stream;
                    video.play();
                    take.addEventListener("click", function () {
                        // Create snapshot from video
                        var draw = document.createElement("canvas");
                        draw.width = video.videoWidth;
                        draw.height = video.videoHeight;
                        var context2D = draw.getContext("2d");
                        context2D.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
                        // Output as file
                        var anchor = document.createElement("a");
                        anchor.href = draw.toDataURL("image/png");
                        anchor.download = "webcam.png";
                        anchor.innerHTML = "Click to download";
                        canvas.innerHTML = "";
                        canvas.appendChild(anchor);
                        var imageBase64 = draw.toDataURL("image/png").replace("data:image/png;base64,", "");
                        document.getElementById("hdn_ImageByte").setAttribute("value", imageBase64);
                    });
                })
                .catch(function (err) {
                    debugger;
                    console.log(err)
                    document.getElementById("vid-controls").innerHTML = "Please enable access and attach a camera";
                });
        });
    </script>```


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...