私は 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。