我在Opencv中创建了这个代码,大约900帧后,出现了这个错误:
OpenCV Error: Insufficient memory (Failed to allocate 921600 bytes) in function, file ........ocvopencvsrccxcorecxalloc.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 );
}
}
您不断使用cvCreateImage
创建新图像,而不使用,更重要的是,不将它们发布到任何地方。
只是删除这一行(它不会做任何事情,除了消耗你的内存):
image = cvCreateImage ( cvSize ( 640,480 ) , 8, 3 );
您需要在某些时候调用cvReleaseImage
。