python opencv 读取摄像头并每隔一分钟,保存三秒的图片
时间: 2023-06-28 15:04:52 浏览: 124
可以使用Python中的OpenCV库和time库来实现。
首先,需要安装OpenCV库,可以使用以下命令在终端或命令行中进行安装:
```
pip install opencv-python
```
然后,可以使用以下代码来读取摄像头并保存图片:
```python
import cv2
import time
# 打开摄像头
cap = cv2.VideoCapture(0)
# 设置保存图片的目录和文件名的前缀
save_path = './images/camera_capture'
prefix = 'capture_'
# 设置保存图片的间隔时间和持续时间
interval = 60 # 每隔60秒保存一次
duration = 3 # 每次保存3秒
# 获取当前时间戳
start_time = time.time()
while True:
# 读取摄像头的画面
ret, frame = cap.read()
# 显示画面
cv2.imshow('frame', frame)
# 判断是否到了保存图片的时间
current_time = time.time()
if current_time - start_time > interval:
# 生成保存图片的文件名
timestamp = int(time.time())
filename = f'{prefix}{timestamp}.jpg'
# 保存图片
for i in range(duration):
ret, frame = cap.read()
cv2.imwrite(f'{save_path}/{filename}', frame)
time.sleep(1)
# 更新开始保存图片的时间戳
start_time = time.time()
# 按下q键退出程序
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 关闭摄像头和窗口
cap.release()
cv2.destroyAllWindows()
```
这段代码会每隔60秒保存一次图片,持续3秒钟。保存的图片会以时间戳作为文件名保存在指定的目录中。
注意:如果要在Windows系统上运行这个代码,需要将保存图片的路径中的斜杠(/)改为反斜杠(\)。
阅读全文