我有一个程序,我正在运行几次迭代。它在前几个工作正常,但是当它通过它们时它会因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可用,并且存在足够的磁盘空间。在此先感谢您的任何帮助
答案 0 :(得分:2)
如果你的进程是一个32位进程,那么可用ram的数量实际上并不是那么多就只有几GB。所以你实际上可以达到32位进程的极限。尝试检查错误发生时您使用的内存量。