如果我试图将所有视频帧存储在一个 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/