我怎样才能释放相机<imutils.video.webcamvideostream.WebcamVideoStream instance at 0x7f2c40e75b00>
Posted
技术标签:
【中文标题】我怎样才能释放相机<imutils.video.webcamvideostream.WebcamVideoStream instance at 0x7f2c40e75b00>【英文标题】:How can i release the camera<imutils.video.webcamvideostream.WebcamVideoStream instance at 0x7f2c40e75b00> 【发布时间】:2018-07-21 04:23:56 【问题描述】:我使用此代码启动相机
from imutils.video import Videostream
vs = VideoStream(0).start()
但是当我尝试这个时
vs.stop()
相机没有停止,变量 vs 显示这个值:
<imutils.video.webcamvideostream.WebcamVideoStream instance at 0x7f2c40e75b00>
【问题讨论】:
我猜你需要把vs
分成两行:vs = VideoStream(0)
和vs.start()
。
@Nae 我怎样才能释放相机。你能指导我吗?
我不会,我对这个话题不太熟悉。
【参考方案1】:
imutils 实际上使用 cv2.VideoCapture() 来初始化流,但没有在 stop 中释放它。
vs.stream.release() 应该可以工作。
我在 imutils github repo 中创建了拉取请求 :) https://github.com/jrosebr1/imutils/pull/81/files
【讨论】:
【参考方案2】:vs.stream.release()
对我不起作用。
vs.stream.stream.release()
完美运行。
【讨论】:
对我来说,当它与openCV
一起使用时,第一个vs.stream.release()
为我做了。干杯!【参考方案3】:
Imutils 使用 OpenCV 构建,因此我们需要使用 release() 来释放网络摄像头。我之前尝试过 stop(),然后我意识到并使用了 release(),它对我来说工作正常。
vs = VideoStream(src=0).start() ## To launch the cam
vs.stream.release() # To release the camera
【讨论】:
这也为我解决了这个问题。它可能似乎是 this source 中的 longstanding documented bug 没有完全进行清理,因此需要这种解决方法。以上是关于我怎样才能释放相机<imutils.video.webcamvideostream.WebcamVideoStream instance at 0x7f2c40e75b00>的主要内容,如果未能解决你的问题,请参考以下文章