从网络摄像头获取最新帧

2023-11-27

我正在使用 OpenCV2 通过网络摄像头拍摄一些延时照片。我想提取网络摄像头看到的最新视图。我尝试像这样完成这个任务。

import cv2
a = cv2.VideoCapture(1)
ret, frame = a.read()
#The following garbage just shows the image and waits for a key press
#Put something in front of the webcam and then press a key
cv2.imshow('a',frame); cv2.waitKey(0); cv2.destroyAllWindows(); [cv2.waitKey(25) for i in range(10)]
#Since something was placed in front of the webcam we naively expect
#to see it when we read in the next image. We would be wrong.
ret, frame = a.read()
cv2.imshow('a',frame); cv2.waitKey(0); cv2.destroyAllWindows(); [cv2.waitKey(25) for i in range(10)]

除了不显示放置在网络摄像头前面的图像之外。就好像有某种缓冲区一样......

所以我清除该缓冲区,如下所示:

import cv2
a = cv2.VideoCapture(1)
ret, frame = a.read()
#Place something in front of the webcam and then press a key
cv2.imshow('a',frame); cv2.waitKey(0); cv2.destroyAllWindows(); [cv2.waitKey(25) for i in range(10)]

#Purge the buffer
for i in range(10): #Annoyingly arbitrary constant
  a.grab()

#Get the next frame. Joy!
ret, frame = a.read()
cv2.imshow('a',frame); cv2.waitKey(0); cv2.destroyAllWindows(); [cv2.waitKey(25) for i in range(10)]

现在这可行了,但令人恼火的是,它不科学且缓慢。有没有办法专门询问缓冲区中最新的图像?或者说,有更好的方法来清除缓冲区吗?


我读到在 VideoCapture 对象中有一个 5 帧缓冲区,并且有.grab获取帧但不对其进行解码的方法。

所以你可以

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

从网络摄像头获取最新帧 的相关文章

随机推荐

  • 在Android Studio 4.0中安装CSV插件后无法打开项目设置和build.gradle

    这是我第一次在 Studio 4 0 中遇到这个问题 项目和应用程序级文件无法打开 下面是一些无法打开的其他文件 Android Studio 4 0 csv 文件未打开 不显示任何内容 java 文件未打开 kt 文件未打开 以前有其他人
  • 如何更改视图和部分视图的默认位置

    我是 MVC 新手 非常想知道如何更改视图和部分视图位置 我们知道视图和部分视图存储在视图文件夹中 如果我的控制器名称是 home 则视图必须存储在视图文件夹内的主文件夹中 并且所有部分视图存储在共享文件夹中 我想知道如何更改视图和部分视图
  • Chrome 要求使用 Thin 在我的 Rails 应用程序上为 SSL“选择证书”

    我有一个配置为仅使用 SSL 的 Rails 应用程序 我还拥有 StartSSL 提供的免费 SSL 证书 我通过以下命令使用 Thin 作为我的 Web 服务器 thin start p 80 thin start p 443 ssl
  • Snapchat 一次性下载所有记忆

    多年来 我在 Snapchat 上保存了很多照片 现在我想检索它们 问题是它们不容易导出 但幸运的是 如果您上网 您可以请求所有数据 这太棒了 我可以看到我的所有照片下载链接 并使用本地 HTML 文件 如果我单击 下载 它就会开始下载 这
  • 在 AFNetworking 中使用 URL 参数和 JSON 正文进行 POST

    我想进行一个同时包含 URL 参数和 JSON 正文的 POST 调用 URL http example com register apikey mykey JSON field value 如何通过 AFNNetworking 同时使用两
  • 用Python计算农历/阴阳假期

    这里有日历坚果吗 我一直在寻找有关如何计算公历中不规则发生的当年假期的信息 通常会发生这种情况 因为该假期是基于较旧的农历 我在谷歌上进行了令人作呕的搜索并取得了一些进展 但无法完成 如果有人有现代语言的示例代码来描述他们的计算 我将非常感
  • 在 for 循环中, (int i : high) 做什么,其中 high 是 int 数组 [重复]

    这个问题在这里已经有答案了 正如标题所说 有些人告诉我 如果我想打印数字数组中所有内容的总和 我应该使用上述参数进行 for 循环 如果需要进一步解释 代码将遵循 但其作用的确切定义是什么 我的意思是 部分 是吗 对于数组中的每个数字 i
  • )?图ql' aria-label='不知道如何转换Django字段技能()?图ql'> 不知道如何转换Django字段技能()?图ql

    我正在努力改变我的rest端点指向graphql我有一个图书馆叫TaggableManager作为其中之一model fields 有人知道这如何与 graphql 一起使用吗 提前致谢 你必须明确告诉石墨烯如何转换TaggableMang
  • 在 adb shell 中找不到 grep 命令

    我的手机通过adb连接到电脑后 进入adb shell 然后输入grep给我 grep not found 这是我的adb安装问题还是我的手机问题 如何让 grep 适用于我的设备 PS 这就是为什么我认为这可能是我的手机有问题的原因 而不
  • 错误:使用react-redux时,提供商的钩子调用无效

    我正在制作一个应用程序来从 url 获取参数并根据 url 的值工作 为了做到这一点 我尝试实现 redux 我想我编写了大部分代码 并且我是 React 和 Redux 的初学者 当我在 index js 文件中插入 Provider 时
  • 使用 Gmail 发送邮件的脚本:无法在 SMTP 服务器上进行身份验证

    我很难让 PHP 脚本使用 SMTP Gmail 帐户发送电子邮件 我正在使用 PHP 和 Symfony2 SwiftMailer 但问题似乎出在我的 Gmail 帐户配置上 在我的日志中 我最终收到以下错误消息 ERROR Except
  • 如何在 android ExoPlayer 中显示字幕

    我正在使用 Exoplayer 来播放 URL 我想在 exoplayer 中添加 srt 文件 但我认为播放器不支持srt文件 所以我将文件内容放入 1 个变量中 如何在 android exoplayer 中显示字幕 有点晚了 但它可能
  • GKE 集群升级到 1.14.6 后,VPN 无法访问内部网络

    我们将现有的开发集群从 1 13 6 gke 13 升级到 1 14 6 gke 13 我们的 Pod 无法再通过 Google Cloud VPN 访问我们的内部网络 我们的生产集群 仍在 1 13 上 共享相同的 VPC 网络和 VPN
  • 集合的快速交集:C++ 与 C#

    在我的机器 四核 8GB RAM 上 运行 Vista x64 Business 使用 Visual Studio 2008 SP1 我试图非常快速地求出两组数字的交集 我在 C 中实现了两种方法 在 C 中实现了一种 到目前为止 C 方法
  • JDK 和 JRE 有什么区别?

    编者注 这个问题是在 2009 年提出的 当时的世界已经不同了 2022 年 标准开源 OpenJDK 仅包含 JDK JDK 和 JRE 有什么区别 它们的作用是什么 我什么时候应该使用其中之一 The JRE is the Java运行
  • 如何检查系统是大端还是小端?

    如何检查系统是大端还是小端 在 C C 中 int n 1 little endian if true if char n 1 也可以看看 Perl版本
  • 默认显示 android SearchView EditText

    我在 android 中使用 SearchView 当我第一次登陆该页面时 所有可见的都是搜索图标 然后 当我单击该图标时 会出现 EditText 如何让 EditText 从一开始就可见 这是我的 xml
  • 计算向量中的出现次数

    该程序从 txt 文件中读取数字字符串 将它们转换为整数 将它们存储在向量中 然后尝试以有组织的方式输出它们 如下所示 如果 txt 文件显示 7 5 5 7 3 117 5 程序输出 3 5 3 7 2 117 因此 如果该数字出现多次
  • 是否可以在 Access 中创建递归查询?

    我有一个job table Id ParentID jobName jobStatus 根 ParentID 为 0 是否可以在 Access 中创建查询来查找给定的根job 数据库是MDB 没有链接表 Access版本是2003 job可
  • 从网络摄像头获取最新帧

    我正在使用 OpenCV2 通过网络摄像头拍摄一些延时照片 我想提取网络摄像头看到的最新视图 我尝试像这样完成这个任务 import cv2 a cv2 VideoCapture 1 ret frame a read The followi