获取时刻时 OpenCV 中的内存泄漏

标签 memory opencv memory-leaks

我正在使用 OpenCV 制作一个自动化的曲棍球机器人来检测物体

到目前为止,一切正常,但在循环中,内存在几秒钟内被消耗掉(它使用 1GB 大约 1 分钟)。

我一直在禁用代码来检测泄漏的来源,最后得到了使 ram 消耗自身的行。这是我得到时刻的时候

moments = cv.Moments(cv.GetMat(img, 0))

在哪里 img只是来自我的网络摄像头的查询。我曾尝试在使用后删除对象,但没有结果。

有谁知道如何解决这个问题?

最佳答案

也偶然发现了这一点。它发生在 v2.3.1 和 v2.4.5对于旧 cv接口(interface) .此界面已removed赞成cv2 .见 this question有关这两个接口(interface)的更多详细信息。

尝试使用 cv2接口(interface)( import cv2 ),也许泄漏不会发生在那里。
更新:使用 cv2 重新编码后未观察到泄漏界面。

关于获取时刻时 OpenCV 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128596/

相关文章:

c++ - 使用 OpenCV 在 iOS 应用程序中进行圆检测

c++ - 将 unsigned char * 图像转换为 OpenCV Mat 的问题

java - 运算符 reinterpret_cast<const uint8_t*> 后出现错误 "core dumped"

c - 内存分配,输出垃圾

c - C 程序的堆栈和堆内存

java - 如何在C++中有效管理内存/时间?

c++ - OpenCV:去噪图像/视频帧

ios - NSURLSession的内存泄漏

将字符串复制到动态二维数组中

memory - Domino 8.5.3 64 位中 HTTPJVMMaxHeapSize 的最佳设置