1

我现在拥有的脚本会带入我目录中的所有照片,并将它们保存在我的工作空间中,为 m1、m2、m3 ...... m100,因为我有 100 张图像。继承人的代码:

A=dir; 
for n=3:length(A)   %it starts with 3 because the first 2 entries in the dir are . and ..
eval(['m' num2str(n) '=imread(A(n).name);']);
end

又好又简单!但是,我现在想查看每个图像并调整它们的大小,但我现在必须手动完成,我想知道是否有人知道如何创建一个循环遍历所有图像矩阵的函数(首先是 m1,然后m2 等)并调整每个的大小。它们都需要是第一张图像的大小。这是我到目前为止所拥有的,但这需要很长时间,我希望将来能加载更多图像:

[a b c]=size(m1);
p1=m1
p2 = imresize(m2, [a b]);
p3 = imresize(m3, [a b]);
p4 = imresize(m4, [a b]);
p5 = imresize(m5, [a b]);

任何帮助将不胜感激。

谢谢。

4

2 回答 2

3

您可以使用单元格数组轻松完成,如下所示

A=dir; 
img = cell(length(A)-2,1);
img_rz = cell(length(A)-2,1);
for n=3:length(A)   
    img{n} = imread(A(n).name);
    img_rz{n} = imresize(img{n},[a b]);
end
于 2013-01-23T00:51:02.640 回答
1

你可以用你自己的代码来做:(几乎)

A=dir; 
a= ...; b= ...;
for n=3:length(A)   %it starts with 3 because the first 2 entries in the dir are . and ..
eval(['mresized' num2str(n) '=imresize(imread(A(n).name),[a b]);']);
end
于 2013-01-23T00:53:03.970 回答