python opencv 按下按键开始截取摄像头图片
时间: 2024-10-19 12:01:35 浏览: 23
在Python中,结合OpenCV库进行摄像头截图并响应按键操作,通常需要使用`cv2.waitKey()`函数来等待用户输入。下面是一个简单的示例,展示了如何按下键盘上的某个键(例如's')开始截图:
```python
import cv2
# 初始化摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取一帧
ret, frame = cap.read()
# 显示视频帧
cv2.imshow('Camera', frame)
# 等待用户按下s键
if cv2.waitKey(1) & 0xFF == ord('s'):
# 如果按下s键,开始截图
filename = 'screenShot_' + str(int(time.time())) + '.jpg'
cv2.imwrite(filename, frame)
print(f"Screenshot saved as {filename}")
# 如果按下了Esc键,退出程序
elif cv2.waitKey(1) & 0xFF == 27:
break
# 释放摄像头资源
cap.release()
cv2.destroyAllWindows()
```
在这个例子中,`cv2.waitKey(1)`会阻塞程序,直到用户按下任意键或1毫秒过去。如果用户按下的是's'键,程序会保存当前帧作为图片;如果按下的是Esc键,程序会结束。
阅读全文