【问题标题】:OpenCV (insufficient memory in function cvAlloc)OpenCV(函数 cvAlloc 内存不足)
【发布时间】:2010-12-02 14:23:02
【问题描述】:

我进行了模拟,但遇到了问题。我在视频中获得 640 x 480 的图像。但是当它到达大约 1600 帧或更多时,我面临“函数 cvAlloc 中的内存不足(内存不足)”。我发布了所有图像,我的 RAM(内存存储)不会超过 28 MB。我该怎么办?

【问题讨论】:

  • 您绝对应该发布您正在使用的代码,因为猜测对任何人都没有帮助。
  • 每帧大约 1 MB。 1600 帧约为 1.6 GB。如果这是一个 32 位操作系统,那么也许你真的用完了(虚拟)内存?
  • "我正在获取图像..." 好的,然后你用它们做什么
  • 你怎么知道你的内存使用没有超过28MB?
  • 也许你没有重用也没有释放所有以前的帧......

标签: c++ opencv


【解决方案1】:

您检查过您的 RAM 使用情况吗?

看看OpenCV Memory Management。它列出了一些修复内存泄漏的常用技术。

【讨论】:

  • 我认为 Paul 是对的,每一帧都需要大约 (640*480*3=921mgb) 并且在 1600 帧之后它会崩溃,但是有人可以告诉我如何才能将其保存在 RAM 中一次图像。PS 在我的代码中,我正在尝试使用 blob 检测和面部检测来寻找眼睛,如果您认为我应该发布我的代码,请告诉我
  • 在一次迭代中使用完所有图像后继续发布它们。那应该可以。
猜你喜欢
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
相关资源
最近更新 更多