我试图从opencv(Python)中的URL读取视频,然后逐帧处理它,然后将其发送到HTML页面.
这是我的主文件(main.py)
from flask import Flask, render_template, Response
from camera import VideoCamera
import pdb
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
def gen(camera):
while True:
frame = camera.get_frame()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
@app.route('/video_feed')
def video_feed():
return Response(gen(VideoCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='127.0.0.1', debug=True)
Run Code Online (Sandbox Code Playgroud)
这是camera.py文件:
import cv2
import urllib
import pdb
import numpy as np
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
#https://github.com/Itseez/opencv/blob/master/data/haarcascades/haarcascade_eye.xml
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
class VideoCamera(object):
def __init__(self):
# Using OpenCV …Run Code Online (Sandbox Code Playgroud)