c - 这会导致内存泄漏吗?

标签 c opencv memory-leaks

我希望有人能回答我的问题并澄清细节。

IplImage* out;
out = doPyrDown( in, IPL_GAUSSIAN_5x5 );
out = doPyrDown( out, IPL_GAUSSIAN_5x5 );
out = doCanny( out, 10, 100, 3 );
 // do whatever with ‘out’
//
...
cvReleaseImage ( &out );

我在学习opencv中读到这不是问题。怎么样?! 每个方法 doPyrnDown 和 doCanny 分配 Image 并返回 Image 的地址(它的指针)。 我知道这种情况会导致内存泄漏。 如果不是,我认为 IplImage 结构有一个在程序运行时动态更新的地址列表。

最佳答案

我不太了解您正在使用的这些功能的详细信息。但是,从您的描述来看,所有这些似乎都返回指向 IplImage 的指针。

out = doPyrDown( in, IPL_GAUSSIAN_5x5 );
out = doPyrDown( out, IPL_GAUSSIAN_5x5 );
out = doCanny( out, 10, 100, 3 );

请注意,第二次和第三次调用使用第一次调用返回的指针。如果这些函数仅返回修改后的指针,那么它不是内存泄漏(如果您在使用结束时删除该指针)。但是,如果它们返回新指针,那么这肯定是内存泄漏。

关于c - 这会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27839518/

相关文章:

c - 创建 pthread 时使用另一个源文件中的 start_function

c++ - OpenCV - 人脸检测 : Rectangle around face

c - 如何使用按位运算符、掩码来查找一个数字是否是另一个数字的倍数?

c++ - 在 Visual Studio 单元测试中检查内存泄漏

c++ - 在 C/C++ 中从 main() 返回值的目的是什么?

c++ - 尝试编译一个简单的 opencv c++ 文件

opencv - Gstreamer 不会下沉到命名管道

opencv - 与移动机器视觉和 OpenCV 等工具一起使用时,哪种条码类型最稳健?

memory-leaks - Dart Websocket内存泄漏

c# - 长时间运行的 Windows 服务是否存在内存泄漏?或者只是看起来像一个?