即使有足够的空间,OpenCV也拒绝分配内存

时间:2012-10-14 17:24:43

标签: c++ visual-studio-2010 memory-management opencv

  

可能重复:
  OpenCV insufficient memory

我有一个程序,我正在运行几次迭代。它在前几个工作正常,但是当它通过它们时它会因OpenCV内存不足而崩溃。问题是,有足够的可用内存!我不接近RAM限制,也没有磁盘空间限制。

以下是导致错误的代码:

// ftrs is a vector of MyFeature objects.
// it has 289600 elements
// FEATURE_DIMENSIONALITY is 58
cv::Mat data_pts(ftrs.size(), FEATURE_DIMENSIONALITY, CV_32FC1);

这是错误:

  

OpenCV错误:内存不足(无法分配70662404字节)   在未知功能,文件   ...... \ src \ opencv \ modules \ core \ src \ alloc.cpp,第52行

所以,这是一个非常特殊的错误。还有什么可能导致这个?重申一下,在该时间点有足够的RAM可用,并且存在足够的磁盘空间。在此先感谢您的任何帮助

1 个答案:

答案 0 :(得分:2)

如果你的进程是一个32位进程,那么可用ram的数量实际上并不是那么多就只有几GB。所以你实际上可以达到32位进程的极限。尝试检查错误发生时您使用的内存量。