我正在使用 OpenCV2.4 和 SVM 分类,我需要在 C++ 中加载一个大数据集(大约 400Mb 的数据)。我已经能够将此数据集保存在 XML 文件下,但之后我无法加载它。Indedd,我收到以下消息:
OpenCV 错误:OutOfMemoryError 中的内存不足(无法分配 408909812 字节),文件(我的 opencv2.4 目录)modules\core\src\alloc.cpp,第 52 行 - 错误:(-4)
我怎样才能增加可用内存(我有足够的空闲 RAM)?
非常感谢 !
编辑:这是出现问题的地方。当我加载一个较小的文件时,该代码有效
std::cout<<"ok 0"<<std::endl;
FileStorage XML_Data(Filename, FileStorage::READ);
XML_Data["Data"]>>m_Data_Matrix;
XML_Data.release();
std::cout<<"ok 1"<<std::endl;
编辑 2:问题已解决:解决方案是将我的应用程序和 OpenCV2.4.5 编译为 64 位应用程序。我已经安装了 64 位版本的 MinGW,使用这个新版本构建 OpenCV(并使用 cmake 进行配置),然后修改了代码块使用的编译器。您会发现这些链接很有用:http: //forums.codeblocks.org/index.php?topic= 13016.0和http://www.drangon.org/mingw。