在使用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进行手动释放,否则会产生内存泄露
}
本文详细解析了在使用OpenCV过程中遇到的内存空间分配与释放问题,通过具体实例展示了不同场景下内存管理的正确做法,避免了内存泄露的风险。
2万+

被折叠的 条评论
为什么被折叠?



