我正在尝试使用树莓派捕获USB摄像头的图像,并使用Django框架进行流处理。我尝试使用StreamingHttpResponse从Opencv2中流式传输帧。但是它只显示一帧而不替换图像。
如何实现实时替换图像?
这是我的代码。
from django.shortcuts import render
from django.http import HttpResponse,StreamingHttpResponse
import cv2
import time
class VideoCamera(object):
def __init__(self):
self.video = cv2.VideoCapture(0)
def __del__(self):
self.video.release()
def get_frame(self):
ret,image = self.video.read()
ret,jpeg = cv2.imencode('.jpg',image)
return jpeg.tobytes()
def gen(camera):
while True:
frame = camera.get_frame()
yield(frame)
time.sleep(1)
def index(request):
# response = HttpResponse(gen(VideoCamera())
return StreamingHttpResponse(gen(VideoCamera()),content_type="image/jpeg")
image/jpeg
。这个问题可能会有所帮助。https://dev59.com/1mEi5IYBdhLWcg3whcni - Håken Lid