如果没有 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()
,如果将鼠标悬停在显示的窗口上,则会显示带有滚轮的“忙碌”光标,表明该窗口正忙。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)