首页 > 解决方案 > 当我们将 opencv 与 django 一起使用时,请求是如何处理的

问题描述

我正在尝试使用 Django 制作人脸检测和人脸识别系统,所以,我使用 OpenCV 来处理识别,但我对当我们发出请求时如何处理请求感到有点困惑,在 views.py中它生成的每个请求一个新的 OpenCV 线程。

def index(request):
        .....
        .....

        cap = cv2.VideoCapture(0)

        while(True):
            # Capture frame-by-frame
            ret, frame = cap.read()

            # Our operations on the frame come here
            gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

            # Display the resulting frame
            cv2.imshow('frame',gray)
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break

        # When everything done, release the capture
        cap.release()
        cv2.destroyAllWindows()

        ...........
        .........

如果我的应用程序部署在某个地方并且用户提出请求,他是否能够使用它。 当 Django 应用程序部署在某个地方时,如果用户发出请求会发生什么?

标签: pythondjangopython-3.xopencvdjango-views

解决方案


如果您想在 Django 服务器上进行人脸识别,那么该代码将不起作用。此 VideoCapture 在 Django 机器上执行,而不是在用户计算机上执行。

用户必须使用一些使用已安装 OpenCV 的前端应用程序或其他方法来捕获帧,例如。媒体设备 API + 网页,然后将此帧发布到服务器上的 Django 应用程序,并在其中进一步处理。


推荐阅读