Các mã phím được trả về bởi waitKey
dường như nền tảng phụ thuộc. Tuy nhiên, nó có thể rất giáo dục, để xem những gì các phím trở (và bằng cách này, trên nền tảng của tôi, Esc không trả lại 27 ...)
Các số nguyên Thầy danh sách câu trả lời của Abid là Mosty vô dụng với tâm trí con người (trừ khi bạn là một thần đồng ...). Tuy nhiên, nếu bạn kiểm tra chúng trong hex, hoặc hãy nhìn vào byte thấp, bạn có thể nhận thấy mô hình ...
Kịch bản của tôi để kiểm tra các giá trị trở về từ waitKey
được dưới đây:
#!/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 '?')
Bạn có thể sử dụng nó như một trình xem hình ảnh dòng lệnh tối thiểu.
Một số kết quả, mà tôi nhận được: thư
q:
Bạn đã nhấn 1.048.689 (0x100071), LSB: 113 ('q')
phím Escape (theo truyền thống, ASCII 27):
Bạn đã nhấn 1048603 (0x10001b), LSB: 27 ('\ x1b')
Space:
Bạn đã nhấn 1.048.608 (0x100020), LSB: 32 (' ')
Danh sách này có thể tiếp tục, tuy nhiên bạn thấy con đường để đi, khi bạn nhận được 'kết quả kỳ lạ' .
BTW, nếu bạn muốn đặt trong vòng lặp, bạn chỉ có thể waitKey(0)
(chờ mãi), thay vì bỏ qua giá trị trả về -1
.
Nguồn
2013-12-13 22:23:56
Cảm ơn @Abid, Tính năng này hoạt động với hầu hết các phím, Làm cách nào để sử dụng phím mũi tên? – md1hunox
đã cập nhật câu trả lời @vineetrok –
Tôi không nhận được bất kỳ số nào cho các phím mũi tên trên OSX – mirosval