清除列表并以scilab释放系统内存

时间:2015-08-25 14:02:01

标签: scilab

所以我使用scilab来分析图像,这是我的代码的一部分:

stacksize('max');
A = imread(file);
A_Gray = RGB2Gray(A);
Invert = ~A_Gray;
Thresh = CalculateOtsuThreshold(Invert);
LogicalIm = SegmentByThreshold(Invert, Thresh);
ObjectIm = SearchBlobs(LogicalIm);
Is = CreateFeatureStruct(%t);
Q = AnalyzeBlobs(ObjectIm,Is);

当我使用AnalyzeBlobs时,我得到一个Q中的列表。这个变量Q太大了,每次运行代码时它需要几乎2 GB的ram。所以我用所有愚蠢的方法来清除这个问题。使用以下函数

clear Q
clearglobal

即使我这样做了:

for i=1:length(Q)
Q(i) = null();
end

结果是它清除变量Q但是里面的数字是存在的并且它不会被删除。它只是删除了Q的地址而不是它的内部。这导致了一个大问题,我必须一直重启scilab。

有什么解决方案吗?

0 个答案:

没有答案