python - 当我们将 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 应用程序部署在某个地方时,如果用户发出请求会发生什么?
解决方案
如果您想在 Django 服务器上进行人脸识别,那么该代码将不起作用。此 VideoCapture 在 Django 机器上执行,而不是在用户计算机上执行。
用户必须使用一些使用已安装 OpenCV 的前端应用程序或其他方法来捕获帧,例如。媒体设备 API + 网页,然后将此帧发布到服务器上的 Django 应用程序,并在其中进一步处理。
推荐阅读
- r - 使用 R 中的 lapply 或 sapply 优化循环以组合列表中的项目
- sql - 我想将 Postgres 表导出为 CSV 文件作为 Flask 上的下载按钮。怎么做?
- vue.js - Vue.js (Quasar) SPA 在每次重新加载页面时重新启动 Auth Code Flow
- sftp - 如何使用 sftp 连接使用 informatica 中的公钥/私钥(非密码)将文件发送到远程服务器?
- python - 如何在 python 中使用异步函数和多处理?
- python-3.x - 基于关系的矩阵分组
- javascript - 从 React 中的 API 访问数据时重新渲染过多
- azure - 我们可以使用全局参数来创建 ADLS/DataBricks 链接服务吗
- c - __get_vm_area_node 中出现 BUG_ON 的原因是什么?
- r - ggplot中面板之间的边距