cv2.videoCapture.release() 的含义是什么?

2023-11-24

我正在使用树莓派来捕获视频的前 20 帧。现在这更多的是一个概念问题,但是在浏览有关 videoCapture 的 openCV 文档时,他们强调了在此代码中释放捕获的重要性(如其网站上发布的):

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

有何重要性cap.release()?省略这一行是否有任何记忆含义?如果是的话,它们是什么以及为什么?


你打电话时cap.release(), then:

  1. 释放软件资源
  2. 释放硬件资源

您可以尝试创建另一个实例cap2 = cv2.VideoCapture(0)在你打电话之前cap.release().

cap = cv2.VideoCapture(0)
#cap.release() 

cap2 = cv2.VideoCapture(0)

因为你还没有释放相机设备资源,那么它会引发类似的错误Device or resource busy,导致引发 OpenCV 异常。

libv4l2: error setting pixformat: Device or resource busy
VIDEOIO ERROR: libv4l unable to ioctl S_FMT
libv4l2: error setting pixformat: Device or resource busy
libv4l1: error setting pixformat: Device or resource busy
VIDEOIO ERROR: libv4l unable to ioctl VIDIOCSPICT

libv4l2: error setting pixformat: Device or resource busy
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline
) in cvCaptureFromCAM_GStreamer, file /home/xxx/Programs/OpenCV/src/opencv-master/modules/videoio/src/cap_gstreamer.cpp, line 887
VIDEOIO(cvCreateCapture_GStreamer(CV_CAP_GSTREAMER_V4L2, reinterpret_cast<char *>(index))): raised OpenCV exception:

/home/xxx/Programs/OpenCV/src/opencv-master/modules/videoio/src/cap_gstreamer.cpp:887: error: (-2) GStreamer: unable to start pipeline
 in function cvCaptureFromCAM_GStreamer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cv2.videoCapture.release() 的含义是什么? 的相关文章

  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • 在 python 程序中合并第三方库的最佳实践是什么?

    下午好 我正在为我的工作编写一个中小型Python程序 该任务需要我使用 Excel 库xlwt and xlrd 以及一个用于查询 Oracle 数据库的库 称为CX Oracle 我正在通过版本控制系统 即CVS 开发该项目 我想知道围
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 返回序列中的第 N 个斐波那契数?

    我的课堂作业有一个问题 我需要知道如何使用迭代返回第 n 个斐波那契数列 不允许递归 我需要一些关于如何执行此操作的提示 以便我可以更好地了解我做错了什么 我在我的program cs中输出到控制台 因此它在下面的代码中不存在 Q1 Ret
  • 在 Python 中复制数组/列表的有效方法

    注意 我是一名 Ruby 开发人员 正在尝试在 Python 中找到自己的出路 当我想弄清楚为什么有些脚本使用mylist 代替list mylist 为了复制列表 我对各种复制方法做了一个快速基准测试range 10 参见下面的代码 ED
  • 是否可以在运行时隐藏 highcharts 中的导航器?

    我正在开发一个 highcharts 项目 我们需要在运行时显示 隐藏导航器 具体取决于屏幕过滤器的值 我们已经添加 显示 隐藏各种数据系列 但我找不到允许我在运行时动态隐藏导航器的 API 调用 有谁知道如何做到这一点 除非必须 否则我不
  • 如何在行的滑动操作配置中添加 VoiceOver 的辅助功能标签?

    我正在使用 Swift 4 创建一个 iOS 应用程序 但没有使用 Storyboard 要从表视图控制器中删除行 用户向左滑动该行 然后单击 删除 按钮 这是我用来实现该功能的代码 未使用外部库 override func tableVi
  • 是否有针对 Python、Ruby、Sql、Cobol、Perl 和 PL/SQL 的静态分析工具? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找一个针对 Pyt
  • SQL 选择案例

    我有以下sql表 oitems table orderid catalogid numitems O737 353 1 O738 364 4 O739 353 3 O740 364 6 O741 882 2 O742
  • 使用rackup时找不到Sinatra静态资源

    我有一个简单的 Sinatra 应用程序 它是使用模块化样式配置的 当我使用启动应用程序时rackup p 4567根据自述文件中的建议 不提供公共文件夹中的静态资源 但是当我开始使用时shotgun config ru p 4567然后他
  • 获取图像大小而不加载到内存

    我有一些 png图片 ETA 但格式也可以是 JPEG 或其他格式 我将在其中显示UITableViewCells 现在 为了获得行高 我加载图像 获取它们size属性 并使用它来计算行的高度 计算沿途任何必要的更改 因为大多数图像在显示之
  • 为什么渐变不覆盖视图的整个宽度

    我正在尝试将渐变应用于限制在主屏幕的顶部 左侧和右侧的视图 但由于某种原因 渐变没有覆盖所应用视图的整个宽度 请参见中的黄色 图片 class ViewController UIViewController IBOutlet weak va
  • C++编译器会优化掉未使用的返回值吗?

    如果我有一个返回对象的函数 但调用者从未使用此返回值 编译器会优化掉副本吗 可能是总是 有时 从不的答案 基本示例 ReturnValue MyClass FunctionThatAltersMembersAndNeverFails Do
  • 使用文本框和自定义词典进行拼写会减慢我在 C# WPF 中的应用程序的速度

    我在 WinForm 应用程序中使用 WPF 文本框进行拼写检查 每次创建一个文件时 我都会将相同的文件作为 CustomDictionary 加载 直到最近一切都很好 现在 它们需要很长时间才能加载 最多一秒钟 有些表格有 30 个或更多
  • 如何强制 Facebook JS-SDK 渲染动态添加的小部件?

    应用程序内的内容正在使用 XHR 进行更新 这涉及到更改评论框的 URL div class fb comments div 页面完全加载后创建新的 Facebook 小部件占位符时 如何请求 Facebook JS SDK 在页面上呈现新
  • 如何使用最小起订量模拟控制器上下文

    我正在尝试最小起订量框架 但现在我遇到了障碍 以下单元测试失败 因为 ViewName 属性的实际值是空字符串 有人能指出我正确的方向吗 为什么这没有通过测试 TestMethod public void Can Navigate To A
  • 在 xUnit.net 中的所有测试之前和之后运行代码一次

    TL DR 我正在寻找 xUnit 的 MSTest 等效项AssemblyInitialize 又名我喜欢的唯一功能 具体来说 我正在寻找它 因为我有一些硒烟雾测试 我希望能够在没有其他依赖项的情况下运行这些测试 我有一个 Fixture
  • Oracle 存储过程、SYS_REFCURSOR 和 NHibernate

    我正在连接一个旧版 Oracle 10 2g 数据库 我想使用 NHibernate 2 0 1 从存储过程返回对象 相关存储过程使用 SYS REFCURSOR 返回结果 根据文档这应该是可行的 但我找到了few posts互联网上另有建
  • 我应该使用什么 JavaScript 库来解析 URL 参数?

    如何解析 JavaScript 中的 URL 参数 这些参数我通常会称为 GET 参数或 CGI 参数 但在这种情况下 页面基本上是提交给自身 而不是服务器 因此没有 GET 请求 也绝对没有 CGI 程序 我在网上看到了许多可以复制的例程
  • Angular 2 http 服务。获取详细的错误信息

    对离线服务器执行 Angular2 http 调用并不会在我在 Observable 的 catch error 运算符或订阅错误委托中获取的 错误响应 对象中提供太多信息 它们实际上都共享相同的信息 但正如您在控制台的屏幕截图中看到的那样
  • 如何在 Windows 应用商店应用程序中使用 C# 计算大文件的哈希值(MD5 或 SHA)

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 PROBLEM 如果您尝试在 Windows 8 Metro 应用程序中使用 HashD
  • 异步函数返回 Promise { }?

    我有以下异步函数 async function readFile let content await new Promise resolve reject gt fs readFile file txt function err conte
  • cv2.videoCapture.release() 的含义是什么?

    我正在使用树莓派来捕获视频的前 20 帧 现在这更多的是一个概念问题 但是在浏览有关 videoCapture 的 openCV 文档时 他们强调了在此代码中释放捕获的重要性 如其网站上发布的 import numpy as np impo