我正在使用 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/