2010-12-02 17 views
0

Ich habe meine Simulation gemacht, aber ich bin mit einem Problem konfrontiert. Ich bekomme Bilder 640 x 480 in einem Video. Aber wenn es bei ungefähr 1600 Rahmen oder mehr ankommt, bin ich mit "unzureichendem Speicher (nicht genügend Speicher) in Funktion cvAlloc" konfrontiert. Ich habe alle Bilder veröffentlicht und mein RAM (Mem-Speicher) wird nicht über 28 MB gehen. Was soll ich machen ?OpenCV (nicht genügend Speicher in Funktion cvAlloc)

+6

Sie sollten den Code, den Sie verwenden, auf jeden Fall posten, da das Raten niemandem hilft. – etarion

+1

Jeder Frame ist etwa 1 MB. 1600 Frames sind etwa 1,6 GB. Wenn das ein 32-Bit-Betriebssystem ist, dann haben Sie vielleicht wirklich keinen (virtuellen) Speicher mehr? –

+0

"Ich bekomme Bilder ..." OK, und was machst du dann mit ihnen **? –

Antwort

0

Haben Sie Ihre RAM-Auslastung überprüft?

Werfen Sie einen Blick auf OpenCV Memory Management. Es listet einige gebräuchliche Techniken auf, um Speicherlecks zu beheben.

+0

Ich denke, Paul ist Richtig, jeder Frame wird herum (640 * 480 * 3 = 921mgb) und nach 1600 Frames wird es abstürzen, aber kann mir jemand sagen, wie kann ich ein Bild auf einmal im RAM behalten.PS In meinem Code bin ich versuchen, Augen mit Blob-Erkennung und auch eine Gesichtserkennung zu finden, wenn Sie denken, dass ich meinen Code auch gut lassen sollte, lassen Sie mich wissen – Afshindn

+0

Halten Sie alle Bilder frei, nachdem Sie fertig sind, sie in einer Iteration zu verwenden. Das sollte funktionieren. –

+1

Neuer Link für das Tutorial http://aishack.in/tutorials/opencv-memory-management/ – Marcassin

Verwandte Themen