cv2 调用摄像头时关闭窗口退出程序
在使用cv2调用摄像头时,我们常用循环语句完成capture的read和imshow,这使得当点击opencv窗口右上角关闭按钮时,关闭的仅仅是某个时刻的窗口,下一秒又会因为循环语句imshow出来。该博客提供了cv2.getWindowProperty获取窗口属性,实现关闭窗口时退出程序。
代码:
import cv2
cap = cv2.VideoCapture(0)
while cap.isOpen():
ret, frame = cap.read()
cv2.imshow('windowName',frame)
# 点击小写字母q 退出程序
if cv2.waitKey(1) == ord('q'):
break
# 点击窗口关闭按钮退出程序
if cv2.getWindowProperty('windowName', cv2.WND_PROP_AUTOSIZE) < 1:
break
cap.release()
cv2.destroyAllWindows()