opencv利用摄像头设置频率自动拍照
时间: 2023-09-04 10:11:04 浏览: 96
以下是使用OpenCV和Python自动捕获图像的示例代码。该代码将从连接到计算机的摄像头捕获图像,并在指定的时间间隔内自动保存图像。
``` python
import cv2
import time
# 捕获摄像头
cap = cv2.VideoCapture(0)
# 设置保存图像的时间间隔(秒)
interval = 5
# 设置保存图像的计数器
count = 0
# 循环捕获图像
while True:
# 读取摄像头的帧
ret, frame = cap.read()
# 显示帧
cv2.imshow("capture", frame)
# 如果到达保存图像的时间间隔,保存帧
if(count % (interval*30) == 0):
cv2.imwrite("frame%d.jpg" % count, frame)
# 增加计数器
count += 1
# 等待按下ESC键退出
k = cv2.waitKey(1)
if k == 27:
break
# 释放摄像头并关闭窗口
cap.release()
cv2.destroyAllWindows()
```
在上面的代码中,我们使用了`cv2.VideoCapture()`函数来连接到计算机上的摄像头。我们还设置了一个时间间隔(`interval`),以确定我们要保存图像的频率。在每次循环中,我们使用`cap.read()`函数从摄像头读取一帧图像,并使用`cv2.imshow()`函数将其显示出来。如果已经达到了保存图像的时间间隔,我们使用`cv2.imwrite()`函数保存当前帧。最后,我们通过`cv2.waitKey()`函数等待按下ESC键以退出循环。
请注意,`cv2.waitKey()`函数返回按下的键的ASCII码,而不是字符本身。因此,我们使用`27`来检查是否按下ESC键(ASCII码为27)。
阅读全文