2013-03-03 72 views
1

我在OpenCV中創造了這個代碼,並在約900幀,出現此錯誤:OpenCV中,內存不足錯誤

OpenCV Error: Insufficient memory (Failed to allocate 921600 bytes) in function, file ..\..\..\..\ocv\opencv\src\cxcore\cxalloc.cpp, line 52 

,但我曾經初始化的變量。 下面是代碼:

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    IplImage * image; 
    CvCapture * capture = cvCaptureFromCAM (0); 
    while (1){ 
     image = cvCreateImage (cvSize (640,480) , 8, 3); 
     image = cvQueryFrame (capture); 
     cvShowImage ("test", image); 
     cvWaitKey (10); 
    } 
} 

回答

1

您不斷地創建新圖像cvCreateImage沒有使用,更重要的是,沒有釋放他們的任何地方。

只是刪除這一行(它不會做的比吃了你的記憶以外的任何其他):

image = cvCreateImage (cvSize (640,480) , 8, 3); 
0

您將需要在某個時候調用cvReleaseImage