python如何隔十帧在摄像头里截一张图
时间: 2024-09-28 16:14:16 浏览: 31
在Python中,你可以使用OpenCV库来实现摄像头每隔一定帧数捕获图像的功能。以下是一个基本的例子,展示如何每10帧抓取一张图片:
```python
import cv2
# 打开摄像头
cap = cv2.VideoCapture(0) # 使用默认摄像头,如果有多台可以指定编号
frame_count = 0
while True:
ret, frame = cap.read() # 读取一帧
if not ret or frame_count % 10 == 0: # 如果未读取成功或者帧数是10的倍数
# 截取并保存当前帧
cv2.imwrite('frame{}.jpg'.format(frame_count), frame)
print('Frame {} captured.'.format(frame_count))
frame_count += 1
# 显示当前帧(这里可以选择性地显示,因为我们在保存图像)
cv2.imshow('Camera Feed', frame)
# 按 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头资源,并关闭所有窗口
cap.release()
cv2.destroyAllWindows()
```
在这个脚本中,`cap.read()`用于获取摄像头的一帧,然后检查是否需要保存(即帧数是否是10的倍数)。`cv2.imwrite`用于保存图片到文件,`cv2.imshow`用于显示实时视频流。
阅读全文