我制作了一个从相机读取像素的程序。我用了一个while循环。但是我不能在没有按下> Ctrl + C'的情况下从终端关闭程序。我想使用ESC按钮(ASCII 27)关闭程序。我尝试了以下代码,但无效。任何帮助将不胜感激
import cv2 as cv
import numpy as np
cap = cv2.VideoCapture(0)
while True:
_, frame = cap.read()
redimage = frame[:,:,2]
print(redimage)
k = cv.waitKey(1) & 0xFF
if k == 27:
break
答案 0 :(得分:0)
使用:
if k == chr(27):
break
答案 1 :(得分:0)
cv.waitKey(1)
仅适用于opencv
gui
。您无法使用此功能在控制台中捕获键盘事件。
因此,您可以更改代码以显示您正在从相机中读取的帧。
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while True:
_, frame = cap.read()
redimage = frame[:,:,2]
cv2.imshow('frame', frame)
print(redimage)
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
您可以在this answer中找到一种在控制台中捕获键盘事件的方法。