我的计算机上的图像文件夹中有bmp图像。我将其从1.bmp
命名为100.bmp
。
我希望像这样阅读这些图片:
for i=1:100
s='C:\images'+i+'.bmp';
A=imread(s);
end
但是Matlab给出了一个错误。我该如何实现呢?
答案 0 :(得分:9)
答案 1 :(得分:5)
按以下方式创建s
:
s = ['C:\images\' int2str(i) '.bmp'];
此外,您的循环只会覆盖A
,因此您必须将其设为cell array才能存储所有100张图片。在循环外执行此操作:
A = cell(1,100);
然后将图像加载到循环中,如下所示:
A{i} = imread(s);
答案 2 :(得分:3)
让我猜一下。您没有名为C:\images1.bmp
的文件。哦,这不是你得到的错误,但是一旦你关注ypnos's advice,它就会成为下一个错误。
答案 3 :(得分:2)
imgfiles=dir('c:\images\*.*');
for k=1:length(imgfiles)
...
end
答案 4 :(得分:1)
将您的文件夹添加到matlab目录路径并运行以下命令。
files=dir('*.bmp')
for k=1:numel(files)
I=imread(files(k).name);
end
我正在使用这些命令来读取图像文件。
答案 5 :(得分:0)
> for i=1:100
> s=strcat('C:\images',num2str(i),'.bmp');
> try
> A=imread(s);
> catch
> end
> end
这里我使用的是num2str,它用于将数字的数据类型转换为字符串,我正在使用try for aviod错误,因为如果文件不存在那么它将避免该错误。