I keycodes restituiti da waitKey
sembrano dipendente dalla piattaforma. Tuttavia, può essere molto educativo, per vedere che cosa i tasti tornano (e tra l'altro, sulla mia piattaforma, Esc non restituisce 27 ...)
L'interi Thay liste risposta di Abid sono mosty inutili per la mente umana (a meno che tu non sia un prodigio savant ...). Tuttavia, se li si esamina in esadecimale, o dare un'occhiata al byte meno significativo, è possibile notare i modelli ...
Il mio script per l'esame dei valori di ritorno da waitKey
è qui sotto:
#!/usr/bin/env python
import cv2
import sys
cv2.imshow(sys.argv[1], cv2.imread(sys.argv[1]))
res = cv2.waitKey(0)
print 'You pressed %d (0x%x), LSB: %d (%s)' % (res, res, res % 256,
repr(chr(res%256)) if res%256 < 128 else '?')
Puoi usarlo come minimo, visualizzatore di immagini da riga di comando.
Alcuni risultati, che ho ottenuto:
q lettera:
È stato premuto 1.048.689 (0x100071), LSB: 113 ('q')
tasto Escape (tradizionalmente, ASCII 27):
È stato premuto 1.048.603 (0x10001b), LSB: 27 ('\ X1B')
Spazio:
avete premuto 1.048.608 (0x100020), LSB: 32 (' ')
La lista potrebbe continuare a lungo, ma si vede la strada da percorrere, quando si ottiene 'Risultati strani' .
BTW, se si desidera inserirlo in un ciclo, è possibile solo waitKey(0)
(attendere per sempre), invece di ignorare il valore di ritorno -1
.
fonte
2013-12-13 22:23:56
Grazie a @Abid, funziona con la maggior parte dei tasti, Come faccio a usare i tasti freccia? – md1hunox
aggiornato la risposta @vineetrok –
Non ho ricevuto alcun numero per i tasti freccia su OSX – mirosval