2010-12-02 10 views
0

私はシミュレーションを行いましたが、問題に直面しています。私はビデオで640 x 480の画像を取得しています。しかし、それが約1600フレーム以上になると、 "関数cvAllocのメモリ不足"に直面しています。私はすべてのイメージをリリースし、私のRAM(mem storage)は28 MBを超えません。私は何をすべきか ?OpenCV(関数cvAllocのメモリ不足)

+6

推測は誰にも役立たないため、使用しているコードを必ず投稿する必要があります。 – etarion

+1

各フレームは約1 MBです。 1600フレームは約1.6 GBです。これは32ビットのOSの場合、多分本当に(仮想)メモリが不足していますか? –

+0

「私は画像を取得しています...」OK、そしてあなたは何を**彼らとやっていますか? –

答えて

0

RAMの使用状況を確認しましたか?

OpenCV Memory Managementをご覧ください。メモリリークを修正するためのいくつかの一般的な手法をリストアップしています。

+0

私はポールだと思う右、各フレーム(640 * 480 * 3 = 921mgb)を取り、1600フレーム後にクラッシュしますが、私は一度に1つのイメージをRAMに保存する方法を教えてくれます.PS私のコードではあなたが私のコードを投稿するべきだと思うならば、ブロブ検出と顔検出を使って目を見つけようとしてください。 – Afshindn

+0

一回の繰り返しですべての画像を使用し終えたら、引き続きすべての画像を解放してください。それはうまくいくはずです。 –

+1

チュートリアルの新しいリンクhttp://aishack.in/tutorials/opencv-memory-management/ – Marcassin