Matlab内存问题

时间:2015-03-13 18:17:49

标签: matlab memory-leaks

我遇到了一个内存问题,我正在运行一个简单的Matlab代码。当我使用列出的函数运行以下循环时,Matlab可以上升到图像50,然后它耗尽内存并结束。我需要运行大约400张图像并将它们保存为我的硬盘驱动器上的文件以供检查。正如你在函数中看到的那样,我试图清除所有内容,但内存仍在继续增长。我已经用Matlab 13a和Matlab 14a尝试了这个代码,我遇到了同样的问题。 这是函数(图像是jp2图像)

 function plot1(image,boundary)
 image1=imread(image)
 h=figure
 imshow(image1)
 rectangle('Position',boundary)
 saveas(h,[image '_newimage.jpg'],'jpg)
 clear image1;clear h;cla reset;clear classes;
 clear all;close all;
 end

上面的功能很简单,我不明白为什么内存不断增加,因为我已经清除了所有内容。 调用此函数的程序如下所示(图像列表和xmin,xmax,width,height已在程序中以不同的循环从列表中读取):

for k=1:nf
     boundary=[xmin(k) ymin(k) width(k) height(k)]
     plot1(image{k},boundary)
end

有没有人对导致内存增加的原因有任何想法? 谢谢你的时间。

0 个答案:

没有答案