我有一个 3D 矢量在 Matlab 中保存图像,它的 480x640x1400。我想循环浏览 1400 张图像。因为我想获取前 10 张图像的中位数(从 1-->10)并将其保存为一个 480x640 图像,然后从 2-->11 中获取图像并获取中位数并将其另存为另一张图像等等on (3-->12).... 例如:images 是包含大小为 480x640x1400 的图像的 3D 向量 images2 是所需的 3D 向量,包含大小为 480x640x1400 的图像的中值。这是我正在使用的脚本:
l=dir('*.mat');
filenames={l.name}';
nfiles=length(filenames)
idx=1;
strtidx=1;
endidx=nfiles;
step=1;
waitbar(0);
for i=strtidx:step:1
tmp = load(filenames{i},'images');
idx=1;
for j=strtidx:step:1000
for k=j:step:j+9
tmp2(k)=tmp(:,:,k);
end
mm=median(tmp2,3);
images2(j)=mm;
end
save(filenames{i}, 'images2', '-append');
waitbar(i/nfiles);
close all;
end