gpt4 book ai didi

C 和 OpenCV 内存泄漏

转载 作者:太空宇宙 更新时间:2023-11-04 04:50:44 24 4
gpt4 key购买 nike

我有内存泄漏的问题。在这个简单的程序中:

#include <stdlib.h>
#include <stdio.h>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"

int main() {
CvMat *src;
src = cvLoadImageM("p1.jpg", CV_LOAD_IMAGE_GRAYSCALE);
cvSaveImage("p2.bmp", src, 0);
cvReleaseMat(&src);
return 0;
}

根据 valgrind,有 7 处泄漏:

==10478== HEAP SUMMARY:
==10478== in use at exit: 10,464 bytes in 7 blocks
==10478== total heap usage: 154 allocs, 147 frees, 2,908,450 bytes allocated
==10478==
==10478== LEAK SUMMARY:
==10478== definitely lost: 0 bytes in 0 blocks
==10478== indirectly lost: 0 bytes in 0 blocks
==10478== possibly lost: 0 bytes in 0 blocks
==10478== still reachable: 10,464 bytes in 7 blocks
==10478== suppressed: 0 bytes in 0 blocks
==10478== Rerun with --leak-check=full to see details of leaked memory
==10478==
==10478== For counts of detected and suppressed errors, rerun with: -v
==10478== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)

谁能告诉我如何正确释放内存?感谢您的建议。

最佳答案

@user4815162342 可能是对的。尽管我建议您迁移到新的 C++ OpenCv cv::Mat,通过它可以自动进行内存管理。

关于C 和 OpenCV 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15734377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com