簡體   English   中英

為什么沒有cv2.waitkey()時cv2.imshow()無法渲染?

[英]Why does the cv2.imshow() does not render without cv2.waitkey()?

沒有cv2.waitkey()方法,cv2.imshow()將顯示黑色窗口。 為什么沒有等待就無法正確進行渲染?

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

cv2.imshow()的文檔中,“注釋”部分提到該窗口顯示的時間為cv2.waitKey()的參數所指示的時間。 參數0表示永遠等待,因此除非您處理按鍵,否則圖像將永遠顯示。

在調試,顯示中間圖像等時,控制窗口需要顯示的持續時間是一個有用的方面。

cv2.waitKey()的文檔中,“注釋”部分提到“此函數是HighGUI中唯一可以獲取和處理事件的方法,因此,除非在具有以下功能的環境中使用HighGUI,否則需要定期調用此函數以進行常規事件處理負責事件處理。”

您會注意到,如果沒有cv2.waitKey() ,則將鼠標懸停在顯示的窗口上時,將顯示帶有滾輪的“忙”光標,表明該窗口正忙。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM