OpenCV CV2 waitkeyの一覧
- 2022.09.02
- IT

OpenCVをpythonで使ってWindowを表示させたりしていたのですが、
入力されたキーに応じて処理を変えたいと思いました。
その際は、waitkey()関数を使うのですが、何のキーが番号の何に対応するのかよく分からなかったので調査しました。
一覧表
結論としては、下記の表のようになりました。
文字が小さくて見えにくい場合、SpreadSheetはこちら です。
使い方
番号という列の、番号を指定してあげれば、使えます。
例えば、aを入力した際に、処理を終了したい場合は、下記のように書きます。
if cv2.waitKey(1) == 97: break
キー入力の番号を確認するコード
まだ別のキーを使いたいという方もいると思いますので、番号の調べ方のサンプルコードを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import cv2 import numpy as np while True: # 画像を取得 img = np.full((210, 425, 3), 128, dtype=np.uint8) img = cv2.resize(img, (500, 300)) cv2.imshow("watch key num", img) k= cv2.waitKey(1) if k != -1: #print("input key num is: ",k, " which means: ", chr(k)) print(k, ",", chr(k)) # press enterkey to kill if k == 13: break cv2.destroyAllWindows()か |
解説
Windowを表示して、キー入力の結果を表示するプログラムです。
OpenCVのWaitkey関数は、k= cv2.waitKey(1)
Unicodeを10進数表記した値を戻り値として返します。
なので、その値を、文字に戻してあげれば、何の文字かが分かります。
chr(k)の部分です。
まとめ
これでどんなキー入力でも対応できますね!
Happy coding!