opencv中的内存泄漏问题

时间:2013-11-30 06:43:12

标签: opencv memory memory-leaks

在我的项目中,我使用CvPoint2D64f *函数手动存储棋盘图像的角落。现在由于未释放内存而导致内存泄漏错误。我尝试了两个免费(角落)和 删除[] Corners.But 11小时后它给出了相同的内存泄漏错误。我有一个混乱。哪一个是正确的释放内存的方法?

int main()
{
    CvPoint2D64f* Corners = 0;
    Corners = new CvPoint2D64f[25];
    ......

    free(Corners);
    return; 
}

我使用了opencv 2.1的c库

提前致谢..

1 个答案:

答案 0 :(得分:4)

如果你希望它是'C',你就不能使用'new',那必须是:

Corners = (CvPoint2D64f*) malloc(25 * sizeof(CvPoint2D64f));
...
free(Corners);

但老实说,你的问题是由于使用了过时的版本(2.1)和过时的api(c)

那些手动内存管理问题是opencv开发人员切换到c ++的主要原因。