хорошо, я использовал эту базовую вещь в последние несколько месяцев, чтобы получать события клавиш, такие как клавиша ESC, клавиша E и т. Д., Для выполнения действий, когда они нажимаются в моей программе opencv.
Ранее, для обнаружения ключа ESC, код был уже во всех примерах в папке примеров и в Интернете. Я понял это. После этого я нашел способ получить коды клавиш для других клавиш, таких как E и S и т. Д. Потому что я хотел использовать их для создания снимков текущих кадров, обрабатываемых в моей программе. И это сработало, я узнал для E его 101, как для ESC 27
Но это значение ASCII или что-то? Я не уверен.
Это то, что я делаю сейчас, но просто не печатать код ключа:
import cv
while True:
k = cv.WaitKey(100) % 0x100
if k != 255:
print k
Так что, когда я нажимаю какую-либо клавишу, значение которой не равно 255, я должен быть уведомлен о том, что эта клавиша была нажата. Это работает в моих программах opencv:
while True:
k = cv.WaitKey(10)
if k % 0x100 == 27: # if ESC key is pressed....
#cv.SaveImage(filename,threshed2)
cv.DestroyWindow("threshed") #Destroy the window of detection results
cv.DestroyWindow("gray")
cv.DestroyWindow("edge")
cv.DestroyWindow("pupil")
#cv.DestroyWindow('smooth')
break
elif k == 101: #if E is pressed
eyeSnap = "C:\\Users\\ronnieaka\\Desktop\\PROJ\\openCV\\eyeSnaps\\det_pupil.jpg"
cv.SaveImage(eyeSnap,image)
Я знаю, что это базовая вещь, и я просто играл, чтобы нажать клавиши и сделать что-то еще, не связанное с OpenCV.
Почему я не получаю 101 из предыдущего кода, когда я нажимаю E, или код для других клавиш, когда я нажимаю их?