c++ - 无论如何我可以使用数组在 opencv c++ 中存储所有视频帧(无论视频有多长)?

标签 c++ opencv3.0

如果我试图将所有视频帧存储在一个 vector 中,我的计算机就会完全崩溃。根据其他一些帖子,我知道这是内存问题。有没有其他方法可以将所有视频帧存储在一个容器中。我正在尝试这个:

storage = cvCreateMemStorage(0);
CvSeq* seq = cvCreateSeq(0, sizeof(CvSeq), sizeof(Mat), storage);

但我无法从 seq 中获取 seq 元素。以前有人试过这个吗?


更新:

崩溃是由于内存已满。在我将视频帧分配到数组中并在缓冲区已满时用新矩阵替换旧矩阵之前,分配适当的内存很重要。

最佳答案

要存储这些,您需要在 ram 中有足够的可用内存,这是不可能的。您将需要考虑其他事情。你说的不可能。

关于c++ - 无论如何我可以使用数组在 opencv c++ 中存储所有视频帧(无论视频有多长)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51075697/

相关文章:

c++ - 如何调试启动但似乎什么都不做的程序?

c++ - 来自具有相同基类的多个类的元素 vector

c++ - 内存错误 : Dereference null pointer/SSE misalignment

android - 由于相机预览而产生 OutOfMemoryError

c++ - 保持 OpenCV 2 和 OpenCV 3 之间的代码兼容性

c++ - OpenCV 超正方体

c++ - SFML 纹理变换(放大)

c++ - 除了更改环境变量 "PATH"之外,您还需要做什么才能让 Eclipse 识别 MinGW ?

Java-OpenCV错误: Assertion failed while running FaceRecognition Program

java - 如何将 javadoc 与项目集成