opencv调用摄像头如何设置为mjpg格式
时间: 2024-11-30 12:17:42 浏览: 95
usb摄像头采集mjpg格式的数据
在OpenCV中,要将摄像头捕获的视频流设置为MJPEG( Motion JPEG)格式,你可以按照以下步骤操作:
1. **安装必要的库**:
如果你的OpenCV版本不包含对MJPEG支持,可以考虑安装一个第三方插件如`opencv_contrib`,它通常包含了这样的功能。如果尚未安装,可以通过`pip install opencv-contrib-python-headless`来安装。
2. **初始化 VideoCapture 对象**:
使用 `VideoWriter_fourcc()` 函数选择MJPEG编码,其参数是一个字符串,代表MJPEG的四个字符缩写("MJPG" 或 "MJPEG"),以及 `VideoWriter` 类的构造函数,传入摄像头设备ID(0通常是默认的主摄像头)和其他配置信息。
```python
import cv2
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
out = cv2.VideoWriter('output.mjpg', fourcc, 30.0, (640, 480)) # 设置帧率(30 FPS) 和分辨率
```
这里 `(640, 480)` 是宽度和高度,可以根据实际需要调整。
3. **读取并编码帧**:
每次从摄像头获取一帧后,调用 `write()` 方法将帧传递给 `VideoWriter`,并将结果保存到输出文件。
```python
while True:
ret, frame = cap.read() # 'cap' 是之前打开的 VideoCapture 对象
if not ret:
break
out.write(frame)
```
4. **释放资源**:
当所有数据捕获完成后,别忘了关闭 `VideoCapture` 和 `VideoWriter`。
```python
cap.release()
out.release()
cv2.destroyAllWindows()
```
阅读全文