python 使用opencv获取监控视频流并保存
时间: 2024-09-29 21:02:56 浏览: 39
Python基于OpenCV的实时视频流车牌识别
在Python中使用OpenCV库获取监控视频流并保存,通常涉及到以下几个步骤:
1. **安装依赖**:首先需要安装OpenCV和相关的视频处理库,可以使用pip安装:
```
pip install opencv-python-headless
```
2. **打开视频流**:通过`cv2.VideoCapture()`函数,传入摄像头设备ID(0通常代表内置摄像头)或者视频文件路径:
```python
import cv2
cap = cv2.VideoCapture(0) # 对于摄像头输入
# 或者 cap = cv2.VideoCapture('video.mp4') # 对于视频文件
```
3. **读取帧并显示**:
```python
while True:
ret, frame = cap.read() # ret表示是否成功读取帧,frame是图像数据
if not ret:
break
cv2.imshow('Monitor', frame)
key = cv2.waitKey(1) & 0xFF # 等待按键,1ms延迟
if key == ord('q'): # 如果按下 'q' 键退出
break
```
4. **保存视频**:
在循环结束后,可以使用`cv2.VideoWriter()`创建一个视频 writer 对象,并指定输出文件名、编码器、帧率和尺寸:
```python
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (frame.shape[1], frame.shape[0]))
for frame in frames_to_save:
out.write(frame)
out.release()
```
5. **释放资源**:
最后记得关闭摄像头和视频输出:
```python
cap.release()
out.release()
cv2.destroyAllWindows()
```
完成以上代码后,程序会从摄像头获取视频流并在指定目录下生成一个名为'output.avi'的视频文件。
阅读全文