我怎样才能释放相机<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>的主要内容,如果未能解决你的问题,请参考以下文章

我想将相机视频流上传到 Amazon S3 并将其下载到 Android 手机。我对此完全陌生。我怎样才能做到这一点?

应用程序使用完毕后释放文件

安卓相机发布时间

多AVCaptureVideoPreviewLayers

使用多个活动时何时正确释放相机?

excel一张表里建两个表格 怎样才能互相不影响??