BETA

OpenCV生活2日目 サンプルコードで出てくるwaitKeyって?

投稿日:2020-07-08
最終更新:2020-07-08

waitKeyって何?

OpenCVを触っていると、よくcv.watiKey(-1)みたいな記述を見かけます。

このwaitKeyは引数に指定された時間だけ、キー入力を待つという機能になります。名前どおりですね。
よく見かける使い方としては、画像を表示したあとに何ミリ秒か待ち、キーが押されたらプログラムを終了させるような使い方です。

引数

引数の時間はミリ秒として扱われますので、cv.watiKey(10)ならば10ミリ秒待ちます。
0以下の値が与えられると、キーが押されるまで待ち続ける仕様のようです。

返り値

waitKey()に返り値には、押されたキーの情報が格納されています。
ただし、何も押されず、指定時間が経てば-1が返ります。

以下のコードを実行して、"a"を押下してみます。

import cv2  

img = cv2.imread("hoge.png")  
cv2.imshow("hoge", img)  
key = cv2.waitKey(1000)  
print(key)  

"a"を押すと、画面には97が表示されるとかと思います。
この97はUnicodeで"a"に対応する数値です。

実際、以下を実行して"a"のUnicodeでの番号を確認すると、97となることがわかります。

print(ord("a"))  
# output: 97  

使いみち

画像や動画、web cameraの処理結果を表示しているときに、以下のようにして"q"を押すと停止させることができます。

import cv2  

img = cv2.imread("hoge.png")  
cv2.imshow("hoge", img)  
while True:  
    key = cv2.waitKey(10)  
    if key == ord("q"):  
        break  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@opqrstuvcutの技術とか技術以外のブログ 最近フリーランスになりました

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう