При работе с opencv под Ubuntu обнаружил странное поведение метода cv.WaitKey. Он возвращал не ASCII код нажатых клавиш. Например код:
key = cv.WaitKey(5)
print key
при нажатой клавиши 'q' вернул мне код 1048689 вместо 113.Дело в том что в
GTK используется 16 разрядов для помещения в старший байт дополнительной информации, более подробно об этом
тут. Что бы корректно все работало, нужно маскировать первый байт. Пример правильного получения нажатого символа:
key = chr(cv.WaitKey(5) & 0xff)
Функция
chr(i) преобразования кода
ASCII в символ.
Вот и все :)
Комментариев нет:
Отправить комментарий