用python调用摄像头保存视频
时间: 2023-08-31 16:30:52 浏览: 125
### 回答1:
你可以使用 OpenCV 库在 Python 中调用摄像头并保存视频。下面是一个简单的代码示例:
```
import cv2
# 打开摄像头
cap = cv2.VideoCapture(0)
# 设置编码器和保存视频的文件名
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while True:
# 读取帧
ret, frame = cap.read()
if not ret:
break
# 将帧写入视频文件
out.write(frame)
# 显示帧
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
这段代码会打开第一个可用的摄像头,并以每秒 20 帧的速率保存为 `output.avi` 文件。你可以通过修改代码中的参数来调整帧率、分辨率等。
### 回答2:
使用Python调用摄像头保存视频可以通过使用OpenCV库来实现。OpenCV是一个开源计算机视觉库,它提供了许多函数和工具来处理图像和视频。
首先,我们需要安装OpenCV库。可以通过使用pip命令来安装OpenCV,如下所示:
```
pip install opencv-python
```
接下来,我们可以编写一个Python脚本来调用摄像头并保存视频。下面是一个示例代码:
```python
import cv2
# 获取相机输入
cap = cv2.VideoCapture(0)
# 判断摄像头是否成功打开
if not cap.isOpened():
print("无法打开摄像头")
exit()
# 设置保存视频的编码格式和帧率
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while True:
# 读取视频帧
ret, frame = cap.read()
if ret:
# 显示当前帧
cv2.imshow('frame', frame)
# 将帧写入输出视频文件
out.write(frame)
# 按下'q'键停止录制
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
以上代码中,我们首先创建了一个VideoCapture对象cap来读取摄像头输入。然后我们定义了一个VideoWriter对象out来保存视频帧。在while循环中,我们读取摄像头帧并显示它们,然后写入输出视频文件。按下键盘上的'q'键后,我们退出循环并释放资源。
运行该脚本后,将会保存名为output.avi的视频文件。
阅读全文