0
我发现在这个简单的OpenCV的代码中的内存泄漏:内存泄漏在OpenCV中集大小
VideoCapture* capture = new VideoCapture(0);
Mat frame;
while (true) {
capture->set(CV_CAP_PROP_FRAME_WIDTH, 1600);
capture->set(CV_CAP_PROP_FRAME_HEIGHT, 1200);
capture->read(frame);
}
这是整个代码。每次通过while循环时,几个MB都会泄漏。我刚刚尝试了frame.release(),但它没有帮助。删除设置大小的线可以解决问题,但在我的真实代码中,我想改变大小,所以这不是解决方案。它以正确的尺寸获得图像。
我在做一些愚蠢的事情吗?
顺便说一下,我使用的是Logitech B910网络摄像头。
谢谢!
,因为你读有一种静态帧/指向驾驶员记忆,您可以加入您的OS/OpenCV的版本?这可能是一个非常具体的捕获实现的问题 – berak
我使用Ubuntu 12.04的apt-get版本,它是OpenCV 2.3.1。 – CGW