python flask调用摄像头
时间: 2023-08-31 09:08:22 浏览: 210
基于python+flask实现web的视频监控系统源码.zip
要在Flask中调用摄像头,你需要使用OpenCV库。以下是一个简单的Flask应用程序,它可以打开摄像头并在Web页面上显示视频流:
```python
from flask import Flask, render_template, Response
import cv2
app = Flask(__name__)
camera = cv2.VideoCapture(0) # 0为默认摄像头
def generate_frames():
while True:
success, frame = camera.read()
if not success:
break
else:
ret, buffer = cv2.imencode('.jpg', frame)
frame = buffer.tobytes()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
@app.route('/')
def index():
return render_template('index.html')
@app.route('/video_feed')
def video_feed():
return Response(generate_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(debug=True)
```
在此示例中,我们使用了OpenCV的VideoCapture函数来打开默认摄像头(0),并使用generate_frames函数来生成视频流的帧。然后,我们使用Flask的Response函数将视频流呈现在网页上。你可以通过访问“http://localhost:5000/video_feed”来查看视频流。
阅读全文