我在这段代码中遇到了内存泄漏,我无法找到我做错了什么。
CvCapture* capture = cvCaptureFromFile([[url path] UTF8String]);
while (cvGrabFrame(capture)) {
IplImage *frame = cvRetrieveFrame(capture);
if (frame) {
[...]
} else {
break;
}
}
cvReleaseCapture(&capture);
如果我删除 cvRetrieveFrame,内存泄漏就会消失。如果我用一个 cvQueryFrame 更改 cvGrabFrame 和 cvRetrieveFrame 会发生相同的行为。
启用或注释掉 cvReleaseCapture 时的行为相同。所以这可能与此有关,但我不知道是什么。
我在 iOS 上使用 openCV r7286。
这是 openCV 中的一个错误。最新的主干中提供了修复程序。
关于ios - iOS 上的 openCV cvRetrieveFrame 或 cvReleaseCapture 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271663/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |