1

可能重复:
OpenCV 内存不足

我有一个程序正在运行多次迭代。它在前几个上运行良好,但是当它通过它们时,由于 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 Error: Insufficient memory (Failed to allocate 70662404 bytes) in unknown function, file ......\src\opencv\modules\core\src\alloc.cpp, line 52

所以,这是一个非常奇特的错误。还有什么可能导致这种情况?重申一下,在那个时间点绝对有足够的可用 RAM,并且存在足够的磁盘空间。提前感谢您的帮助

4

1 回答 1

3

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

于 2012-10-14T17:28:29.947 回答