在使用OpenCv时,经常会遇到内存空间的分配和释放问题。 有的情况下,申请的内存空间OpenCv会自己释放,有的情况下,需要手动释放;对已经遇到的情况整理如下:
(1)、.代码:
CvMat mat = cvMat(704,576,CV_8UC1, imageBuf);
不需要对mat进行手动释放内存;
(2)、
CvMat mat = cvMat(704,576,CV_8UC1, imageBuf);
IplImage *pIplImage = cvDecodeImage( &mat, 1 ); //解码
if(pIplImage)
{
cvReleaseImage(&pIplImage); //必须对pIplImage进行手动释放,否则会产生内存泄露
}
(3)、
IplImage *pIplImage=cvCreateImage(cvSize(704,576),8,1);
if(pIplImage)
{
cvReleaseImage(&pIplImage); //必须对pIplImage进行手动释放,否则会产生内存泄露
}