2017-06-30 10 views
0

チュートリアルに続き、qを押してプログラムを終了しようとしましたが、動作しません。どのキーを押しても終了します。 :openCV waitKey()は適切なキーボード入力を受け取ることができません

twi = cv2.imread('large.png') 
cv2.namedWindow('image', cv2.WINDOW_NORMAL) 
cv2.imshow('image', twi) 
key = cv2.waitKey(0) 
if key == ord('q'): 
    cv2.destroyAllWindows() 

そして私は&0xFFを追加しようとしました:

key = cv2.waitKey(0)&0xFF 

はまだそれと間違っているものを、動作していませんか?私はそれを修正することはできますか?

=============更新============

qを押したときに私は、key変数は、113であること、にprint(key)を追加し、 ord('q')113ですが、なぜ動作しないのかわかりません...

=============解決済み=============

ifの仕組みを忘れていると思われます...)

+2

は私たちに、コードの残りの部分を示し、「それは私が押されたものをキーに関係なく終了していない」と、その直後に終了しない:それはうまくいくかもしれないqキーのキー値を返さないときは継続的にcv2.waitKey(0)を呼び出します示された行?コードがifステートメントに入り、 "ああ、それが 'q'ではないので、あなたのコードの最後に到達し、終了すると、なぜ終了するのかは明らかです。 – Micka

+2

@ミカ・ゴッシュ現時点で私は馬鹿になっているはずです...今理解しています...ありがとう! –

答えて

4
while cv2.waitKey(0) != ord('q'): 
    pass 
cv2.destroyAllWindows() 
関連する問題