Как использовать cv2.waitKey (1) в Python OpenCV - PullRequest
0 голосов
/ 25 февраля 2020

Я делаю некоторый код OpenCV python, и в конце у меня есть код ниже:

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

Так что, когда я нажимаю q, код ломается, что работает нормально. Но приведенный ниже код не работает:

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

В приведенном выше коде работает только q, но если я нажимаю a, он не печатает a. Почему это не работает. Может кто-нибудь, пожалуйста, предложите мне, что здесь не так. Спасибо

КОД:

cam = cv2.VideoCapture(0)
while True:
    ret_val, image = cam.read()

    cv2.imshow('my webcam', image)

    if cv2.waitKey(1) & 0xFF == ord('a'):  
        print("a")
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cv2.destroyAllWindows()

1 Ответ

1 голос
/ 25 февраля 2020

waitKey возвращает значение ASCII клавиши, которая нажата, в то время как ord преобразует символ в его значение ASCII. Так что-то вроде этого будет работать

key = cv2.waitKey(1)
if key == ord('q') :
 break
elif key == ord('a'):
 print('a')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...