内存泄露时,可以用最简单的注释法查找(把代码一部分一部分放开),根据资源管理器查看我们自己编写的程序内存使用情况。
1.
img_temp = cvCloneImage(&imgTmp);//循环使用会引起内存泄露 cvCopy(&imgTmp,img_temp,NULL); //循环使用不会引起内存泄露
2.
cvFindContours( img_temp, mem_storage, &first_contour,sizeof(CvContour),CV_RETR_CCOMP); cvClearMemStorage(mem_storage);//上面函数中的mem_storage,循环使用会使内存泄露,必须使用此函数清除内存区域 cvReleaseMemStorage(&mem_storage); //用完最后还要用此函数
3.
img_temp = cvCreateImage(cvGetSize(pFrame), 8, 1); cvReleaseImage(&img_temp); //上式中的cvCreateImage与此式配对使用