cv2.waitKey为所有键返回255

时间:2017-10-27 05:30:58

标签: python-3.x opencv

我正在尝试使用cv2.waitKey(0)读取键值,但它不起作用。它永远等待。我使用cv2.waitKey(1)检查它返回的内容,无论我按哪个键,它总是255。

while True:
      key = cv2.waitKey(0)
      print(key)

无论我按哪个键,上面的代码都不起作用。

while True:
     key = cv2.waitKey(1) & 0xFF
     print(key)
     if key == ord('q'):
        break

保持打印255,如果我按“q”,则不会中断。

1 个答案:

答案 0 :(得分:9)

我找到了解决方案。 看起来它需要打开一个命名窗口才能读取键值。所以我尝试了下面的方法并且有效。

cap = cv2.VideoCapture(0) 
cv2.namedWindow('frame', cv2.WINDOW_NORMAL)
while(True):
    ret, frame = cap.read()
    cv2.imshow('frame',frame)
    key=cv2.waitKey(0) & 0xFF
    print(key)
    if key == ord('q'):
         break
cv2.destroyAllWindows()