【发布时间】:2016-11-24 15:24:26
【问题描述】:
我正在使用 OpenCV 2.4.9 和 Python 2.7.11。
我编写了一个显示相机输出的小程序,当按下“q”时,关闭相机但不退出应用程序(为了进一步的工作......)。
问题是网络摄像头没有真正释放,LED 一直亮着,当我再次尝试打开它时,它说资源很忙,直到我完全退出程序。 不过,它在 Windows 中确实可以正常工作...
代码如下:
import cv2
import sys
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if frame is None:
print "BYE"
break
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
while True:
cv2.waitKey(1)
我错过了什么?有没有办法在不退出程序的情况下释放相机? 提前致谢
【问题讨论】:
-
删除最后两行,因为那是导致应用程序挂起的原因(无论您按什么键,它都会停留在那里)
-
@BillalBEGUERADJ 我知道!!而不是这些行,而是一些与我的项目相关的代码......我的观点是应用程序始终在应用程序中,但必须在不退出的情况下释放相机
-
我无法重现您的问题。我的意思是您的代码在我的机器上运行良好(Ubuntu 16.04 LTS,x64 位)
标签: python linux opencv video-capture