在Python中将视频提要从Javascript传递到OpenCV [英] Passing video feed from Javascript to OpenCV in Python

查看:0
本文介绍了在Python中将视频提要从Javascript传递到OpenCV的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个Web应用程序,可以在实时视频提要中检测人脸。我已经使用Java脚本编写了网络摄像头提要代码,因为我希望稍后托管该应用程序。

使用Java脚本获取提要的代码

var video = document.querySelector("#videoElement");

if (navigator.mediaDevices.getUserMedia) {
    navigator.mediaDevices.getUserMedia({video: true}).then(function(stream) {
      video.srcObject = stream;
  }).catch(function(err0r) {
      console.log("Something went wrong!");
  });
}

我的打开摄像头和检测人脸的Python代码如下

import cv2

cascade = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')

cam = cv2.VideoCapture(0)


while True:
    ret, frame = cam.read()
    frame = cv2.flip(frame, 1)

    if ret:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

        faces = cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=3)

        for (x, y, w, h) in faces:
            cropped = cv2.resize(frame[y:y+h, x:x+w], (198,198))
            cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
            cv2.destroyAllWindows()

        cv2.imshow('Stream', frame)

我的问题是,我可以通过某种方式将提要从Java传递到Python,而不是在Python中打开网络摄像头吗?我想我将不得不更改此行以包括来自Java脚本的代码

cam = cv2.VideoCapture(0)

如有任何帮助,我们不胜感激。预先感谢您

推荐答案

您可以在OpenCV文档中查看this tutorial。语法实际上并没有太大不同。

如果您确实想要使用Python,则需要发送对视频提要的AJAX请求。将其流传输到某个位置,并将其用作<video>的来源。

这篇关于在Python中将视频提要从Javascript传递到OpenCV的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆