从 AVI 捕获 OpenCV 帧

2023-12-05

我正在使用 openCV 2.2 进行一个项目。我需要对 AVI 文件的每一帧进行处理,但是当我运行代码时,它只获取文件的第一帧。 CV_CAP_PROP_POS_FRAMES 似乎不起作用。有什么想法为什么不呢?

    CvCapture* capture = cvCaptureFromAVI("test1.avi");

    IplImage *img = 0;

    if (!cvGrabFrame(capture)) {
            printf("Error: Couldn't open the image file.\n");
            return 1;
    }

    int numFrames = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);
    int posFrame = 1;
    for(int i =0; i <= numFrames; i++){
        cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, i);
              posFrame = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES);

              img = cvGrabFrame(capture);
              cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
              cvShowImage("Image:", img);
              printf("%i\n",posFrame);

              cvWaitKey(0);

              cvDestroyWindow("Image:");
    }

为什么不使用 OpenCV 2.3 尝试这种方式呢?我觉得这样更直接、更高效,你的眼睛也更清晰:

VideoCapture _videoSource;

if(!_videoSource.open("test1.avi")) 
{
   exit(1);         // Exit if fail
}
_videoSource.set(CV_CAP_PROP_CONVERT_RGB, 1);

Mat frame;
namedWindow("Image");
int posFrame;

while(1) 
{
  _videoSource >> frame;
  posFrame=_videoSource.get(CV_CAP_PROP_POS_FRAMES);
  imshow("output", frame);
  return 0;
}

像这样的东西应该有效。

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

从 AVI 捕获 OpenCV 帧 的相关文章

  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • Dapper 强类型查询返回默认对象值

    刚刚开始使用 Dapper 并喜欢它 我遇到了问题 它返回正确数量的对象 但它们的属性都有默认值 using var dbConnection Connection await dbConnection OpenAsync const st
  • 如何使用 C# 打印 pdf

    我在 C 应用程序中使用 进程 打印 pdf 文件 但是我无法获取打印状态 我发现可以通过 System management 和 System printing 与打印机 队列进行交互 我做了很多尝试 但都出错了使用这两个命名空间但无法打
  • 从 .Net 将简单数据插入 Excel 文件的最简单方法

    我有一个 Excel 文件 大约有 10 列和 1 20 行 我需要插入 1 20 行包含各种数据元素 我想知道是否有一种方法可以将一些标签放入 Excel 文件中 以便可以找到并替换它们 将列标记为 名称 的东西 这样我就可以在代码中说
  • 如何将 C++ 类包装在基于 C 的 dll 或基于 CLI 的 dll 中?

    我被告知将我用 C 编写的类导入到 dll 中 然后在 c 应用程序中使用该 dll 下列的本指南 https stackoverflow com questions 4555961 how to use a class in dll我创建
  • 在 MVC 类上创建主键字段

    我是 MVC 和 C 新手 我只是偶然发现它并发现它很有趣 我遇到了一个不允许我继续的问题 这是我的代码 using System using System Collections Generic using System Linq usi
  • C++ - 模板专业化和部分专业化

    我一直在互联网和 stackoverflow 上寻找具体的答案 但我似乎找不到 我必须创建一个通用类 然后实现特定的功能 我的具体说明是 您需要使用模板表达式参数以及模板类专业化和部分专业化 我有一个模板类 template
  • 可选参数“必须是编译时常量”

    我有一个类分为两个部分文件 如下所示 public partial class PersonRepository BaseRepository
  • 浏览器收集哪些值作为回发数据?

    当页面被发送回服务器时 浏览器收集每个控件的当前值并将其粘贴到一个字符串中 然后 该回发数据通过 HTTP POST 发送回服务器 Q1 除了控件的 Text 属性和 SelectedIndexchanged 因此除了用户输入数据 之外 控
  • 使用 QSet 作为 Qt 地图容器中的键

    我需要一个映射 其中键是唯一的 并且每个键都是一组或自定义 POD 结构 其中包含 3 个数据项 这些值只是指向对象实例的指针 从阅读Qt 的 QMap 与 QHash 的文档 http qt project org doc qt 4 8
  • C# ConfigurationManager 从 app.config 检索错误的连接字符串

    我有一个简单的 WinForms 应用程序 它最终将成为一个游戏 现在 我正在研究它的数据访问层 但遇到了障碍 我创建了一个单独的项目 名为DataAccess在其中 我创建了一个本地 mdfSQL Server 数据库文件 我还创建了一个
  • 未定义异常变量时通过引用捕获

    捕获异常时 标准指导是按值抛出 按引用捕获 据我了解 这有两个原因 如果由于内存不足异常而引发异常 我们将不会调用可能终止程序的复制构造函数 如果异常是继承层次结构的一部分 我们可能会对异常进行对象切片 如果我们有一个场景 我们没有在 ca
  • initializer_list 和默认构造函数重载决策

    include
  • 在 C++ 中处理音频缓冲区时,如何执行从 float -> double -> float 的转换

    我目前正在开发一个应用程序 其中音频样本帧在以下回调中进行处理 void Eav07AudioProcessor processBlock AudioSampleBuffer buffer for int channel 0 channel
  • IClaimsTransformation 未触发

    我尝试过实施一个IClaimsTransformation我在 ASP NET CORE 3 1 Web 应用程序中找到的类 public class ClaimsTransformer IClaimsTransformation publ
  • 使用对象列表构建树

    我有一个带有属性 id 和parent id 的对象列表 我想建造一棵树来连接那些孩子和父母 1 个父对象可以有多个子对象 并且有一个对象将成为所有对象的祖先 实现该功能最快的算法是什么 我使用 C 作为编程语言 但其他语言也可以 像这样的
  • 打破条件变量死锁

    我遇到这样的情况 线程 1 正在等待条件变量 A 该变量应该由线程 2 唤醒 现在线程 2 正在等待条件变量 B 该变量应该由线程 1 唤醒 在我使用的场景中条件变量 我无法避免这样的死锁情况 我检测到循环 死锁 并终止死锁参与者的线程之一
  • 函数模板重载解析期间的 MSVC 与 Clang/GCC 错误,其中一个函数模板包含参数包

    当我使用参数包时 我注意到这样一种情况 如下所示 在 gcc 和 clang 中编译得很好 但在 msvc 中却不行 template
  • Unity 2.0 和处理 IDisposable 类型(特别是使用 PerThreadLifetimeManager)

    我知道类似的问题被问过好几次 例如 here https stackoverflow com questions 987761 how do you reconcile idisposable and ioc here https stac
  • 如何在Linux上构建GLFW3项目?

    我已经使用 cmake 和 make 编译了 glfw3 和包含的示例 没有出现任何问题 开始编写我的第一个项目 作为 opengl 和 glfw 的新手 并且对 C 和 CMake 没有经验 我正在努力理解示例构建文件 甚至要链接哪些库和

随机推荐

  • “var”变量、“this”变量和“全局”变量 - 在 JavaScript 构造函数中

    在我上一个问题之后 这个问题对我来说更准确 example function Foo this bla 1 var blabla 10 blablabla 100 this getblabla function return blabla
  • 处理应用程序退出

    当用户使用以下命令退出应用程序时 我想运行一些清理代码 例如取消注册计划通知 Alt F4或向下滑动手势 WinJS 有没有办法处理应用程序退出 我已经阅读了文档WinJS 应用程序对象 但没有看到任何处理用户退出的方法 没有特别活动表明应
  • Python3:os.system不重定向标准输出

    正如标题中提到的 我的代码中有这个 os system vpr vpr config file name seed str seed gt str bench name str seed stdout 其中有很多变量 但它的计算结果只是这个
  • 反应选择不识别默认值

    我有一个反应选择组件无法识别默认值选项 代码如下所示 renderPlans if this props plans let list this props plans map item gt return label item descr
  • 时间:2019-03-07 标签:c#progressbarpercent

    我在 winform c 应用程序中有一个进度条 我将其作为进度指示器 进度条可以有不同的最大尺寸 具体取决于用户输入的数量 可以超过 100 所以这就是我的设置方式 this pbLoadingWrite Maximum Input Le
  • 一项活动和所有其他片段[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我正在考虑实现一个屏幕Activity以及所有其他屏幕Fragments and managing all the fragments thru the activity 这是不是一个好主
  • 递归累积和

    我需要编写一个程序 使用 def 但仅使用递归来计算数字列表的累积和 我做到了 但现在我需要编写相同的程序而不使用该方法sum 但到目前为止还没有成功 任何想法 my code def rec cumsum numbers Input nu
  • 如何迭代 Numpy 数组的初始维度?

    我有一个具有形状的 Numpy 数组 1000 1000 1000 3 是最后一个维度 大小为 3 包含 3D 空间向量分量的三元组 我该如何使用nditer迭代每个三元组 像这样 for vec in np nditer my array
  • 为所有文本框控件提供相同的属性

    如何为同一表单中存在的所有文本框赋予相同的属性 foreach var textbox in this Controls OfType
  • Apache 整个目录的重写规则

    我想设置重写规则 RewriteRule test my long path index html 但我的index html 通过ajax 获取其他文件 所以它的工作方式并不像这样简单 我需要目录的所有子文件的规则我试过 RewriteR
  • Python 的 Chronic(Ruby NLP 日期/时间解析器)?

    有谁知道像chronic这样的库 但针对python Thanks 你有没有尝试过解析日期时间
  • Spring security SAML 可用于在运行时配置 IDP

    我想实施SSO using SAML 2 0在我的网络应用程序中 我见过spring security saml和例子春季启动应用程序 在查看示例后 我想知道以下几件事 是否可以在运行时获取 Idp Url 和证书并使用 spring sa
  • WiX 安装后我的 exe 文件无法通过双击运行,只能以管理员身份运行

    当我安装这个 MSI 包时 我使用 WiX 准备了一个 MSI 安装项目 ProgramFiles 并创建桌面文件夹的快捷方式 它只能以管理员身份运行 双击时不起作用 当我在桌面上安装文件夹时 双击即可使用 我想安装到 ProgramFil
  • datetimepicker 类 - 具有 dts_appcanparse 样式 - 无法选择

    当用户完成编辑时 我得到 DTN USERSTRING 引出了一个问题 用户何时完成编辑 输入日期后 TAB 似乎没有生成此通知 我也没有得到 dtn keydown 或任何其他信息 鼠标或按 ALT 似乎可以解决问题 但我需要让 TAB
  • 带饼干的倒计时器

    我知道有很多这样的话题 但我只是遇到问题 找不到答案 我的脚本是 window onload function 200 seconds countdown var countdown 14400 current timestamp var
  • php htmlentities 解码文本区域

    我有一个文本区域 我想获取文本区域的输入并将其全部合并在一起 除了转义引号之外 一切都工作正常 例如test s输出为test s 为了解决这个问题 我尝试了 htmlenttries 例如 这应该根据html entity decode手
  • numpy中求两个多边形之间的距离

    我有两个多边形 P 和 Q 其中多边形的外部线性环由两个闭合的点集定义 存储为 numpy 数组 以逆时针方向连接 P和Q的格式如下 P x coords 299398 56 299402 16 299410 25 299419 7 299
  • jQuery - 选项上的选定属性未显示在 FireBug 中

    Why 当我在选择字段中选择一个选项时 selected selected 属性仍然保留之前的选项 但从视觉上你可以看到新选项处于活动状态 从下拉列表中选择一个选项不会修改selectedDOM 中的属性 但是如果您使用以下命令查询当前值
  • mysqli 连接在函数内不起作用? [复制]

    这个问题在这里已经有答案了 我在 php 函数内执行 mysql 查询时遇到一些问题 我得到的错误是 Notice Undefined variable link in C path api inc restFunctions php on
  • 从 AVI 捕获 OpenCV 帧

    我正在使用 openCV 2 2 进行一个项目 我需要对 AVI 文件的每一帧进行处理 但是当我运行代码时 它只获取文件的第一帧 CV CAP PROP POS FRAMES 似乎不起作用 有什么想法为什么不呢 CvCapture capt