【问题标题】:close webcam in openCV python在openCV python中关闭网络摄像头
【发布时间】:2020-09-24 17:52:48
【问题描述】:

我想关闭网络摄像头,我使用了 cap.released(),但它在捕获图像后并没有关闭网络摄像头。这是我的代码:

import cv2
import matplotlib.pyplot as plt
def main():
     cap=cv2.VideoCapture(0)
     if cap.isOpened():
             ret, frame = cap.read()
             print(ret)
             print(frame)
     else:
         ret=False
     img1=  cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
     plt.imshow(img1)
     plt.title('Color Image RGB')
     plt.xticks([])
     plt.yticks([])
     plt.show()
     cap.release() 
if __name__=='__main__':
     main() 

【问题讨论】:

  • 你的主函数是空的。你应该先解决这个问题
  • 请做一个正确的minimal reproducible example - 修复缩进,并删除任何不相关的东西(例如matplotlib与这个问题有什么关系?)另外,你怎么知道它没有发布,什么时候cap.release() 似乎是您示例中的最后一条语句?
  • 我的网络摄像头灯还亮着
  • 我看不到 if 语句。另外,在 else 部分正确执行后检查 I 代码。
  • 请修复代码,以便人们可以从问题中复制和粘贴它并看到与您相同的结果。还要说明如何您正在运行此代码。

标签: python-3.x opencv


【解决方案1】:

凸轮将保持活动状态,直到您关闭图形,即直到脚本完成。这是因为你只有在之后才释放捕获,

plt.show()
cap.release() 

如果您想在拍照后关闭相机,请颠倒此顺序

cap.release() 
plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 2012-06-16
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    相关资源
    最近更新 更多