cv2.VideoCapture.read() 在 time.sleep() 之后获取旧帧

2023-11-21

我尝试用 Python 捕捉(立体)图像opencv和两个摄像头,因此每 5 秒应保存一张图像。但这里的问题是保存了旧框架。

缩小后的代码如下:

    cap = cv2.VideoCapture(0)

    for i in range(20):
        time.sleep(5)
        print "Taking image %d:" % i
        ret, frame = cap.read()
        cv2.imwrite("image %d" % i, frame)
        print "  image done." if ret else "  Error while taking image..."
    cap.release()
    cv2.destroyAllWindows()

为了检查这一点,我在每次拍摄图像后更改了相机的位置。但是,仍然保存了旧位置的图像(实际上不一样,但我假设最后保存的图像之后有一些帧)。在 5 个(或更多)图像之后,图像中捕获的位置最终也会发生变化。

那么,有什么问题吗time.sleep?我想我没有得到实际的帧,而是缓冲的帧。如果是这种情况,我该如何修复它并捕获实际帧?


VideoCapture 正在缓冲。 如果您总是想要实际的框架,请执行以下操作:

while True:
    cap = cv2.VideoCapture(0)
    ret, frame = cap.read()
    cap.release()
    cv2.imshow(" ", frame)
    if cv2.waitKey(2000) != -1:
        break
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cv2.VideoCapture.read() 在 time.sleep() 之后获取旧帧 的相关文章

随机推荐

  • 从模块导入的变量在再次导入同一模块后变为$null

    我有一个简单的模块 varExp psm1 var1 20 导出模块成员 变量 var1 我将此模块导入到 PS 会话中 PS gt 导入模块 varExp psm1 then PS gt var1 20 但是当我第二次导入它之后 PS g
  • 了解 Selenium IDE 与 Selenium RC

    Selenium IDE 和 Selenium RC 在功能上有什么区别 Selenium IDE 是一个 Firefox 插件 为您提供用于记录测试的基本记录器 这些测试使用关键字记录在基于 HTML 表的架构中 IDE 使您能够将代码导
  • 如何使用 php 命令行定义多个 ini 设置?

    我正在尝试允许allow url fopen and rename暂时用于脚本的函数 我可以只用一个函数来完成它 但不能同时使用两个函数 像这样的东西 php d allow url fopen on rename on
  • 为强制定向网络中的每个链接指定颜色,networkD3::forceNetwork()

    问题是根据链接的值或权重指定两种不同的颜色networkD3 forceNetwork在 R 中 例如 Blue对于大于1的链接权重 dark对于小于 1 的链接权重 示例代码 复制自here the forceNetwork部分 libr
  • 为什么 Ruby 似乎随机访问目录中的文件?

    这是设计使然吗 这是代码 class FileRenamer def RenameFiles folder path files Dir glob folder path end end puts Renaming files rename
  • Java Swing GUI 的自动化测试 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有哪些选项可以为用 Java Swing 编写的 GUI 构建自动化测试 我想测试一些使用以下代码编写的 GUINetBeans Swing GUI
  • 惰性洗牌算法

    我有一个很大的元素列表 我想以随机顺序迭代它们 但是 我无法修改该列表 也不想创建它的副本 因为 1 它很大 2 可以预期迭代会提前取消 List
  • 解析 XPath 表达式

    我正在尝试为 XPath 创建一个 AET 抽象表达式树 因为我正在编写一个 WYSIWYG XSL 编辑器 在过去的三到四个小时里 我一直在与 XPath BNF 碰头 我想到了另一个解决方案 我想我可以编写一个实现 IXPathNavi
  • 在 Android 中禁用屏幕锁定(电源)按钮

    我希望当我的应用程序运行电源按钮时 按下该按钮会锁定屏幕并且屏幕变黑 应该被禁用 使用户无法锁定屏幕 我在三星 Galaxy S 手机的默认相机应用程序中注意到了这个东西 这也是我尝试做同样事情的原因 我还有一个与相机相关的应用程序 试试这
  • vim 显示两行选项卡

    当你同时打开很多文件时 Vim 是否可以显示两行选项卡 我不希望出现选项卡溢出样式的箭头 这不完全是你所要求的 但我从使用选项卡切换到使用 BufExplorer 在它们之间切换的普通旧式多个缓冲区 http www vim org scr
  • 比较 VBA 中的日期

    我有两个文本框 有两个不同的日期 orderDate 和 receiveDate 收到的日期需要手动输入到表单中 我想包括在 orderDate 之后应该发生 receiveData 的验证 我已经尝试过 If txtRecievedDat
  • 使用相机拍摄的照片不包含任何 ALAsset 元数据

    最奇怪的事情正在发生 我有一个操作表 用户可以选择使用相机拍照或从相机胶卷中选择一张照片 当 UIImagePicker 从选择返回时 我使用 ALAssetsLibrary 来确定照片中嵌入的 GPS 信息 从相机胶卷中选择照片效果非常好
  • Beautifulsoup,达到最大递归深度

    这是一个beautifulsoup抓取所有内容的过程 p html 标签 从某些网页抓取内容后 我收到一条错误消息 指出超出了最大递归深度 def printText tags for tag in tags if tag class Na
  • 使用curl在PHP中获取HTTP代码

    我使用 CURL 来获取站点的状态 如果它是向上 向下或重定向到另一个站点 我想让它尽可能精简 但效果不佳 我把它包装在一个函数中 它工作正常 但性能不是最好的 因为它下载整个页面 如果我删除 output curl exec ch 它返回
  • 如何拦截网络请求

    有没有类似 Chromium 的东西chrome webRequestSafari 扩展 我浏览了他们的文档here 我能找到的最接近的东西是SafariBeforeNavigateEvent 这将阻止新页面加载 但仍会将请求发送到服务器
  • python-C++ 扩展可以获取 C++ 对象并调用其成员函数吗?

    我正在编写一个 python C 应用程序 它将从 python 调用 C 扩展中的方法 假设我的 C 有一个类 class A private int i public A int i i i int get i return i A a
  • 如何使用 Google 地方信息获取地名数组?

    我正在尝试访问 Google 地方信息以返回围绕纬度和经度的 50 个餐厅名称的数组 但在提出请求时遇到了困难 我已经有了确定用户纬度和经度的代码 并且我已经从 Google 获得了 API 密钥 我只是不知道如何通过 URL 发出请求 而
  • 如何访问作为 RMarkdown 文档中参数传递的文件中的数据?

    遵循 RMarkdown 的最后一个示例参数化报告页面 我正在尝试使用Shiny界面选择我的输入文件 其中包含以下代码YAML标头 params data input file label Input dataset value myDat
  • 模拟 DbContext.Set()?

    我们首先使用 EF 代码 并为我们的销售数据库提供数据上下文 此外 我们还有一个类位于数据上下文之上并执行一些基本的 CRUD 操作 例如 我们有以下函数 public static T Create
  • cv2.VideoCapture.read() 在 time.sleep() 之后获取旧帧

    我尝试用 Python 捕捉 立体 图像opencv和两个摄像头 因此每 5 秒应保存一张图像 但这里的问题是保存了旧框架 缩小后的代码如下 cap cv2 VideoCapture 0 for i in range 20 time sle