2016-04-09 38 views
1

私は、ラズベリーパイ3のPythonでOpenCVを学び始めました。 namedWindow()の簡単なコードを書きました。問題はdestroyWindow()が期待通りに動作しないことです。 「TEST」ウィンドウはまだそこにあります。次のコードで何が問題になりますか?cv2.destroyWindow()が期待どおりに動作しない

import cv2 
import sys 

if __name__ == '__main__': 
    cv2.namedWindow("TEST") 
    while True: 
     key = cv2.waitKey(5) 
     if key == 27: 
      print "ESC pressed..." 
      cv2.destroyWindow("TEST") 
      break 
    sys.exit() 
+0

[このリンク](http://stackoverflow.com/questions/6116564/destroywindow-does-not-close-window-on-mac-using-python-and-opencv)を参照してください。 – Aenimated1

+0

ループからdestroyWindow( "TEST")を移動します。 –

+0

最後に 'destroyWindow'を使っていたとき、' destroyWindow'の前後に 'waitKey'をいくつか呼び出すだけでなく、' cvWindowThread'を開始しなければなりませんでした。直前に 'namedWindow'を作成しました。スレッドが正常に終了していないので、私は 'std :: terminate()'を最後に呼び出しました。(C++で、スレッドがよりうまく処理できるかもしれません)。 –

答えて

0

ここでは、通常は限りwaitKeyが行くように私のためにどのような作品だ:

if cv2.waitKey(1) & 0xFF == 27: 
    break 
cv2.destroyWindow("TEST") 

ビット単位で、キーのUTF-8値に等しくなければならないwaitkey入力と11111111でどの。私はThis Loopでこれをテストしました。お役に立てれば。

関連する問題