0

私は OpenCV2.4 と SVM 分類を使用しており、C++ で大きなデータセット (約 400Mb のデータ) をロードする必要があります。このデータセットを XML ファイルに保存できましたが、その後読み込むことができません。実際、次のメッセージが表示されます。

OpenCV エラー: OutOfMemoryError、ファイル (私の opencv2.4 ディレクトリ)modules\core\src\alloc.cpp、行 52 でメモリ不足 (408909812 バイトの割り当てに失敗) - エラー: (-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 ビット アプリケーションとしてコンパイルすることでした。MinGW の 64 ビット バージョンをインストールし、この新しいバージョンで OpenCV をビルドし (cmake を使用して構成)、コードブロックで使用されるコンパイラを変更しました。次のリンクが便利です: http://forums.codeblocks.org/index.php?topic=13016.0およびhttp://www.drangon.org/mingw

4

0 に答える 0