2017-06-30 3 views
-1

cv2.waitkey()メソッドを使用しないと、cv2.imshow()は黒いウィンドウを表示します。待たずにレンダリングが正常に行われないのはなぜですか? cv2.imshow()のドキュメントからなぜcv2.imshow()はcv2.waitkey()なしでレンダリングしないのですか?

cap = cv2.VideoCapture(video_path) 
while cap.isOpened(): 
    ret,frame = cap.read() 
    cv2.imshow('window-name',frame) 
    # without the following cv2.waitkey(1) statement the cv2.imshow() displays a blank window 
    if cv2.waitKey(1) & 0xFF == ord('q'): # wait for 1 millisecond 
     break 
    continue 

答えて

2

、NOTEのセクションでは、ウィンドウがcv2.waitKey()に引数で指定された時間の量のために表示されていることを言及しています。引数0は、永久に待機することを示しています。そのため、キー押しを処理しない限り、画像は永久に表示されます。 cv2.waitKey()の文書等から、中間画像を表示する、

をデバッグ中にウィンドウが表示される必要があるため時間を制御

が有用な態様である、注部「はこの関数は唯一の方法であることを言及しますHighGUIはイベントを取得して処理することができるため、イベント処理を行う環境内でHighGUIを使用しない限り、通常のイベント処理のために定期的に呼び出す必要があります。

cv2.waitKey()が表示されていないと、表示されているウィンドウの上にカーソルを置くと、ローリングホイールのある「ビジー」カーソルが表示され、ウィンドウがビジーであることがわかります。

関連する問題