所以我使用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。
有什么解决方案吗?