with() 语句从 opencv 中的 VideoCapture 读取?

2024-03-30

我喜欢使用 with 语句来访问文件和数据库连接,因为如果出现错误或文件关闭,它会自动为我断开连接。

f = open('file.txt', 'r')
for i in f():
   print(i)
f.close()

versus

with open('file.txt', 'r') as f:
   for i in f:
       print(i)

下面是否有从相机缓冲区读取的等效改写?:

c = cv.VideoCapture(0)    
while(1):
    _,f = c.read()
    cv.imshow('e2',f)
    if cv.waitKey(5)==27:
        cv.waitKey()
        break
c.release()

我试过了:

c = cv.VideoCapture(0)    
while(1):
   with c.read() as _,f:
       cv.imshow('e2',f)
       if cv.waitKey(5)==27:
           cv.waitKey()
           break

---没有运气。看起来拆卸/释放是一种不同的功能。这个习语在这里可以吗?


另一种方式使用contextlib.contextmanager https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager:

from contextlib import contextmanager

@contextmanager
def VideoCapture(*args, **kwargs):
    cap = cv2.VideoCapture(*args, **kwargs)
    try:
        yield cap
    finally:
        cap.release()

(注意:已接受的答案已被编辑以包含此建议)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

with() 语句从 opencv 中的 VideoCapture 读取? 的相关文章

  • 通过 boto3 承担 IAM 用户角色时访问被拒绝

    Issue 我有一个 IAM 用户和一个 IAM 角色 我正在尝试将 IAM 用户配置为有权使用 STS 承担 IAM 角色 我不确定为什么收到 访问被拒绝 错误 Details IAM 角色 arn aws iam 123456789 r
  • Flask中使用的路由装饰器是如何工作的

    我熟悉 Python 装饰器的基础知识 但是我不明白这个用于 Flask 路由的特定装饰器是如何工作的 以下是 Flask 网站上的代码片段 from flask import Flask escape request app Flask
  • 为什么我的混淆矩阵只返回一个数字?

    我正在做二元分类 每当我的预测等于事实时 我发现sklearn metrics confusion matrix返回单个值 难道没有问题吗 from sklearn metrics import confusion matrix print
  • 使用 pandas.date_range() 生成多个日期时间,每周两个日期

    我在用着pd date range start date end date freq W MON 每周一生成每周频率日期时间start date 2017 01 01 and end date 2017 12 31 这意味着每月大约生成 4
  • 将 yerr/xerr 绘制为阴影区域而不是误差线

    在 matplotlib 中 如何将误差绘制为阴影区域而不是误差条 例如 而不是 忽略示例图中各点之间的平滑插值 这需要进行一些手动插值 或者只是获得更高分辨率的数据 您可以使用pyplot fill between https matpl
  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • 如何为未捕获的异常处理程序编写单元测试

    我有一个函数可以捕获uncaught例外情况 如下 有没有办法编写一个单元测试来执行uncaught exception handler 功能正常 但测试正常退出 import logging def config logger logge
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • 将 C++ 指针作为参数传递给 Cython 函数

    cdef extern from Foo h cdef cppclass Bar pass cdef class PyClass cdef Bar bar def cinit self Bar b bar b 这总是会给我类似的东西 Can
  • 使用 Python 3 动态插入到 sqlite

    我想使用 sqlite 写入多个表 但我不想提前手动指定查询 有数十种可能的排列 例如 def insert sqlite tablename data list global dbc dbc execute insert into tab
  • 为什么第二个 request.session cookies 返回空?

    我想使用 requests Session post 登录网站 但是当我已经登录主页 然后进入帐户页面时 看来cookies还没有保存 因为cookies是空的 而且我无法进入正确的帐户页面 import requests from bs4
  • 以类型化内存视图作为成员的结构定义

    目前我正在尝试让一个具有类型化内存视图的结构能够工作 例如 ctypedef struct node unsigned int inds 如果 inds 不是内存视图 据我所知 它可以完美地工作 然而 通过内存视图并使用类似的东西 def
  • numpy:高效执行数组的复杂重塑

    我正在将供应商提供的大型二进制数组读入 2D numpy 数组 tempfid M N load data data numpy fromfile file dirname fid dtype numpy dtype i4 convert
  • python celery -A 的无效值无法加载应用程序

    我有一个以下项目目录 azima init py main py tasks py task py from main import app app task def add x y return x y app task def mul
  • 如何在 Django Rest 框架中编写“删除”操作的测试

    我正在为 Django Rest Framework API 编写测试 我一直在测试 删除 我对 创建 的测试工作正常 这是我的测试代码 import json from django urls import reverse from re
  • Python 2 的 `exceptions` 模块在 Python3 中丢失了,它的内容到哪里去了?

    一位朋友提到 对于 Python 2 假设您在命令行上的路径环境变量中有它 pydoc exceptions 非常有用 知道它应该可以为他每周节省几分钟的网络查找时间 我自己每周都会用谷歌搜索一次例外层次结构 所以这对我来说也是一个有用的提
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • 基于值而不是类型的单次调度

    我在 Django 上构建 SPA 并且有一个庞大的功能 其中包含许多功能if用于检查我的对象字段的状态名称的语句 像这样 if self state new do some logic if self state archive do s
  • 非法指令:MacOS High Sierra 上有 4 条指令

    我正在尝试在 pygame 3 6 中制作一个看起来像聊天的窗口 我刚刚将我的 MacBook 更新到版本 10 13 6 在我这样做之前它工作得很好 但在我收到消息之后 非法指令 4 Code import pygame from pyg
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a

随机推荐

  • 中使用自定义模板名称

    目前我有这段代码 它为每个用户节点调用 用户 模板
  • 如何在没有 Root 设备的情况下使用自己的 Android 服务进行屏幕截图?

    我进行了很多搜索并找到了两个库 1 https code google com p android screenshot library https code google com p android screenshot library
  • 如何使用elasticsearch正确处理多词同义词扩展?

    我有以下同义词扩展 suco gt suco refresco bebida de soja 我想要的是以这种方式标记搜索 搜索 suco de laranja 将被标记为 suco laranja refresco bebida de s
  • 在 ggplot 或lattice 中利用 Surv 对象

    有人知道如何利用 ggplot 或lattice 进行生存分析吗 制作网格或类似面的生存图会很好 所以最后我尝试了一下 找到了卡普兰 迈耶图的解决方案 对于将列表元素放入数据框中的混乱代码 我深表歉意 但我无法找到其他方法 注意 它仅适用于
  • Jenkins Git 插件包含不工作的区域

    我无法使用 Git 插件在 Jenkins 中使用 包含区域 功能 我希望仅在 他的 目录发生更改时才构建作业 示例 项目 mytool 仅应在以下内容发生更改时构建GIT ROOT tools mytool 我在包含的区域字段中尝试了几种
  • 删除默认标题栏

    如何删除 Android 应用程序中默认的顶部标题栏 灰色的你好 Android 吧 删除标题栏非常简单 只需将 android theme 属性添加到 AndroidManifest xml 中即可
  • ICollection 的简单现有实现

    有没有简单的实现ICollection
  • AngularJS 指令中的 locals 代表什么

    AFAIK 这没有记录 但我在角度源中发现locals指令示例中的属性 angular module transclude directive pane function return restrict E transclude true
  • 如何使用已安装的斜纹登录网站?

    我刚刚安装成功TWILL https web archive org web 20180904160747 http twill idyll org 80 在 StackOverflow 一位非常支持的成员的帮助下在我的计算机上 你可以查看
  • 通用协方差和转换为 SuperType

    我有一个面向对象的问题 我认为它可以与通用协方差联系起来 我正在尝试构建一个模块化系统来导入不同类型的记录 模块包含常用方法 SalesModule 包含处理特定逻辑的函数 public interface IImportable void
  • 克隆 jQuery UI 日期选择器时出现问题

    我有一个 div 其中有一个日期选择器 我用这样的东西来克隆它 mydiv someDiv works fine so far mydiv find input datefield datepicker clone without the
  • C#BackgroundWorker 的文化

    我想为我的整个应用程序设置文化 我尝试了以下操作 Thread CurrentThread CurrentCulture CultureInfo CreateSpecificCulture wantedCulture Thread Curr
  • 浏览器之间盒子模型的不同解释

    我注意到浏览器之间在宽度方面存在差异TH标签被解释 特别是宽度计算中是否包含填充 我正在构建一个可重用的库 用于快速生成表格和设计表格样式 当然 对于表格数据 这意味着我可以完全控制我生成的代码 但我需要实际解决问题而不是为特定实例寻找黑客
  • Qt 和 CMake 因重复符号而失败

    我的 c qt 项目中有 3 个文件 并且我正在使用 CMake 我正在尝试编译它这里有一些代码 CMakeLists 包含 cmake minimum required VERSION 3 8 project untitled set C
  • Apache Commons Lang 2 与 3

    在我的应用程序中 我使用 apache commons Lang v 3 所需的图书馆给我一个 java lang ClassNotFoundException org apache commons lang StringUtils com
  • 在 Rails 中添加与 simple_form、nested_form 和 Twitter Bootstrap 内联的控件

    我正在使用 simple form nested form 和 Twitter Bootstrap 并尝试将nested form 中的 删除链接 与对象放在同一行 现在看起来像这样 http grab by eKDS http grab
  • 安装适用于 Python 的 cx_Oracle

    在 Debian 5 上 我一直在尝试为 python 安装 cx oracle 模块 但没有成功 首先 我安装了 oracle xe client 及其依赖项 按照以下链接中的教程here http le gall net pierric
  • MSXML 哪个版本开始支持解析 XML 1.1?

    如果我使用 MSXML6 dll 解析 XML 1 1 我将收到此错误 0xC00CE57F MSG E INVALID VERSION 版本号无效 XML 1 1 最初发布于 2004 年 2 月 4 日 令我惊讶的是 MSXML6 dl
  • TDD 新手:是否有带有测试的示例应用程序来展示如何进行 TDD?

    我真的很想进入 TDD 开发 但我不知道从哪里开始 我认为 查看代码并了解他们如何编写测试并使类可测试 这样我会更容易消化并开始使用自己 有谁知道任何示例或小型开源C 包含单元测试的应用程序 对于沙卡尔佩什来说 我会推荐 ObjectMen
  • with() 语句从 opencv 中的 VideoCapture 读取?

    我喜欢使用 with 语句来访问文件和数据库连接 因为如果出现错误或文件关闭 它会自动为我断开连接 f open file txt r for i in f print i f close versus with open file txt