如何清除内存中使用matlab图像处理之后?

15的观点(30天)
亲爱的所有,
我试图找到释放完成后的matlab图像处理或清除内存。但我甚至使用清除所有或clearvar——失败。
波纹管是我从matlab复制网站:一个例子
//www.tianjin-qmedu.com/help/releases/R2021b/vision/ug/subtract-image-background-using-opencv-code-in-matlab.html
videoSample = VideoReader (“atrium.mp4”);
videoSample。CurrentTime = 2.5;
进口clib.opencv。*;
进口vision.opencv。*;
历史= 300;
阈值= 400;
影子= true;
cvPtr = cv.createBackgroundSubtractorKNN(历史、阈值、影子);
kNNBase = util.getBasePtr (cvPtr);
kNNBase.setkNNSamples (2);
foregroundmask = 0 (videoSample.Height videoSample.Width videoSample.NumFrames);
hasFrame (videoSample)
帧= readFrame (videoSample);
[inMat, imgInput] = util.createMat(框架);
[outMat, outImg] = util.createMat ();
kNNBase.apply (imgInput outImg);
foregroundmask = util.getImage (outImg);
foregroundmask =重新调节(foregroundmask);
foregroundmask =投(foregroundmask,“喜欢”、框架);
前台(::1)=框架(:,:1)。* foregroundmask;
前台(::2)=框架(:,:2)。* foregroundmask;
前台(::3)=框架(:,:3)。* foregroundmask;
图像(前台、家长= gca);
暂停(0.01);
结束
可能有人有理想吗?
谢谢

答案(1)

Bhavana Ravirala
Bhavana Ravirala 2022年11月14日
MATLAB不会完全删除一组数据,直到所有的引用数据已被移除。
例子:
x = (0:0.1:10);
y = - x;
p =情节(x, y);
清晰的所有;
清除所有的帮助” 命令“x”和“y”变量将被删除但MATLAB复制所需的x和y -数据以来的情节图没有被关闭。
对于这个复制数据被删除,情节命令创建的对象必须在图需要删除或关闭,这可以通过“全部关闭”命令。
关闭所有;
自线对象图中是唯一的对象引用复制的x - y数据,MATLAB自动释放内存使用因为没有更积极的参考数据。
10评论

登录置评。

类别

找到更多的在性能和内存帮助中心文件交换

s manbetx 845


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!