我已经在cvDilate函数中调用了cvCreateStructuringElementEx()函数(它返回IplConvKernel *)。如何防止代码中的内存泄漏
如果我已经调用cvDilate,如何防止内存泄漏,如下所示?
#include <iostream>
#include <cv.h>
#include <highgui.h>
using namespace std;
int main()
{
IplImage* topHatImg = cvLoadImage("ff.jpg",0);
for (size_t i = 0; i < 1000000; i++)
{
//memory leak due to repeated call to cvCreateStructuringElementEx()
//how can I prevent this
cvDilate(topHatImg, topHatImg,
cvCreateStructuringElementEx(21, 3, 11, 2, CV_SHAPE_RECT,NULL));
}
}
C++ 11?然后'auto topHatImg(std :: unique_ptr(cvLoadImage(“ff.jpg”,0));' –
您可以尝试使用OpenCV的C++接口,这将为您处理内存管理,否则将其标记为C – juanchopanza
为什么要投票? – Deepak