写一段代码实现opencv打开摄像头,收到指令后读取摄像头实时拍摄的图像,读取后不中断程序不中断摄像头继续拍摄,读取后能一直继续收到指令读取
时间: 2024-11-28 21:41:56 浏览: 11
在Python中,你可以使用OpenCV库来实现实时从摄像头获取视频流并响应指令。下面是一个简单的例子,它会开启摄像头,持续接收用户输入,然后每次接收到"read_frame"这样的指令时就读取一次新的帧:
```python
import cv2
# 初始化摄像头
cap = cv2.VideoCapture(0) # 使用默认摄像头,如果你有多个摄像头可以替换为对应的数字,如1、2等
while True:
# 检查是否成功打开摄像头
if not cap.isOpened():
print("Error opening camera.")
break
# 循环等待用户输入
user_input = input("请输入指令(例如 'read_frame'):")
# 如果用户输入是 "read_frame"
if user_input == "read_frame":
# 读取一帧图像
ret, frame = cap.read()
# 如果读取成功
if ret:
# 显示图像
cv2.imshow('Camera Feed', frame)
# 等待按键事件,如果按下q键则退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
print("Failed to read frame.")
# 关闭窗口和释放摄像头资源
cv2.destroyAllWindows()
cap.release()
阅读全文