[英]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.