使用opencv(opencv和c++)时会发生主要内存泄漏
Major memory leaks when using opencv ( opencv and c++ )
我的系统编程课程有一个家庭作业。一切都很顺利,没有任何内存泄漏,直到我使用了opencv(还是个初学者)。
基本上,我有一个学生班和课程班,我必须将正确类型的学生(计算机科学学生、PG学生…)分配到正确的课程(选修课和PG/CS课程)。
我做了我必须做的所有事情,现在最后一步是显示谁以彩色毕业的图像和谁没有以灰度毕业的图像。都做到了。
我制作了一个图像处理程序类,用于处理打开图像、将图像保存到文件、初始化新图像以及所有函数,如转换为RGB和转换为GreyScale。。
这个图像处理程序类有一个图像字段,它是一个:
cv::Mat m_image;
现在,在学生课堂上,我让每个学生都有一个图像处理程序对象,我将他的图像存储到其中
我甚至在图像处理程序类中做了一个析构函数:
imagehandler::~imagehandler(){
m_image.release();
}
在我开始opencv步骤之前(甚至在我安装opencv并在代码中嵌入我需要做的事情之前),我根本没有内存泄漏。在我对opencv步骤进行编程(并全部工作)后,我出现了重大泄漏。
这是valgrind的日志文件(因为太大了,不能放在这里,所以不得不把它放在粘贴箱中):valgrind.log
错误主要是当我读取图像、保存图像、调整图像大小、转换为rgb或灰度时。。。所有与opencv相关的泄漏。
我以前遇到过这个问题,我通过更改OpenCV的版本来解决这个问题。我现在使用OpenCV-2.443,没有内存泄漏的问题。问题版本为opencv-3.0.00。
相关文章:
- OpenCV 我应该使用智能指针来防止内存泄漏吗?
- 无法在 Opencv 中显示图像导致内存位置
- cv:内存位置的异常 - 运行 openCV 代码 Visual Studio 2013 & Visual Studio 2017 - Windows 7
- Android OpenCV 应用程序的内存问题
- OPENCV MAT内存访问错误
- 在python openCV中一次将许多图像读入内存
- 内存泄漏(OpenCV + QML)
- 链接到 OpenCV 时内存泄漏
- 我是否必须在C 接口的OPENCV C包装器中自由分配的内存
- OpenCV Imshow 导致内存泄漏 (C++)
- 使用opencv(opencv和c++)时会发生主要内存泄漏
- 使用标准化函数/OPENCV和C 获取内存分配错误
- 当CPU使用率高时,OpenCV会堆积内存吗
- OpenCV cv::mat发布免费内存
- cvCreateMat内存泄漏(OpenCV)
- opencv Mat 释放内存损坏
- 使用OpenCV级联分类器的内存泄漏
- 内存不足错误Opencv/c++
- OpenCV:内存位置问题
- OpenCv内存清除以供重用