opencv - opencv中的内存泄漏问题

标签 opencv memory memory-leaks

在我的项目中,我使用CvPoint2D64f *函数手动存储棋盘图像的角落。现在由于未释放内存而出现内存泄漏错误。我尝试了free(Corners)和
delete [] Corners。但是11小时后,它仍然出现相同的内存泄漏错误。我感到困惑。哪种方法是释放内存的正确方法?

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

    free(Corners);
    return; 
}

我用过opencv 2.1的c库

提前致谢..

最佳答案

如果希望它是“C”,则不能使用“new”,这必须是:

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

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

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

关于opencv - opencv中的内存泄漏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297446/

相关文章:

c++ - Opencv CvSeq * 将整数值添加到序列中的所有点

php - memory_get_peak_usage() 返回整个 php 的内存还是只返回当前执行的内存?

Javascript/Node.js 数组内存管理

c++ - OpenCV 集大小中的内存泄漏

c++ - 如何安全地填充 Boosts 的指针容器?

Java 内存泄漏 - FileReaders、BufferedReaders 和 Stacks

opencv - 更改图像 DPI 以与 tesseract 一起使用

python - 如何删除未连接到二进制图像中循环的白色像素

c++ - 如何关闭相机(OpenCv Beaglebone)

c - C 中释放简单链表内存的两种方法?