我有一个包含6个图像的文件夹,我想在matlab中显示每个图像。 图像保存为image01,image02 .... image06。
代码的输出仅多次显示第一个图像。 我错过了什么?
a = dir('Example\*.png');
b = 'C:\Example\';
for i=1:length(a) %where a is the path to the image folder
fileName = strcat(b,a(i).name);
disp(fileName);% this allows me to see the names in text.
Image = imread('C:\Example/Image01.png');
figure, imshow(Image);
end
这个循环工作,并使用disp(文件名)告诉我每个图像的名称1,因此它不是语法错误。
感谢您的帮助。
答案 0 :(得分:1)
这很有效!
a = dir('Example\*.png');
b = 'C:\Example\';
for i=1:length(a) %where a is the path to the image folder
fileName = strcat(b,a(i).name);
Name = a(i).name;
disp(fileName);% this allows me to see the names in text.
Image = imread(Name);
figure, imshow(Image);
end
答案 1 :(得分:1)
实际上,dir函数应该返回所需的所有内容,以便正确定位文件(并重建它们各自的路径),而不声明辅助变量来保存目标路径:
files = dir('C:\...\MyFolder\*.png');
for i = 1:numel(files)
file = files(i);
filename = fullfile(file.folder,file.name);
disp(filename);
img = imread(filename);
figure();
imshow(img);
end