OpenCV - 具有大数据集的OutOfMemory

时间:2013-05-28 14:22:29

标签: c++ opencv memory-management out-of-memory

我正在使用OpenCV2.4和SVM分类,我需要在C ++中加载一个大数据集(大约400Mb的数据)。我已经能够将这个数据集保存在XML文件下,但之后我无法加载它。 Indedd,我收到以下消息:

  

OpenCV错误:OutOfMemoryError中的内存不足(无法分配408909812字节),文件(我的opencv2.4目录)modules \ core \ src \ alloc.cpp,第52行 - 错误:( - 4)

我怎样才能增加可用内存(我有足够的可用内存)?

非常感谢!

编辑: 这是问题出现的地方。加载较小的文件时代码可以正常工作

  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进行配置),然后修改了codeblocks使用的编译器。 您可以找到以下链接:http://forums.codeblocks.org/index.php?topic=13016.0http://www.drangon.org/mingw

0 个答案:

没有答案