在MATLAB中从文件中读取图像

yal*_*cin 3 matlab

我的计算机上的图像文件夹中有bmp图像.我把它命名1.bmp100.bmp.

我想读这样的图像:

for i=1:100
    s='C:\images'+i+'.bmp';
    A=imread(s);
end
Run Code Online (Sandbox Code Playgroud)

但是Matlab给出了一个错误.我该如何实现呢?

小智 9

你可以使用sprintf功能

s = sprintf('c:\images%d.bmp', i);
A = imread(s);
Run Code Online (Sandbox Code Playgroud)

您可以在这里阅读更多关于字符串处理的信息


gno*_*ice 5

s按以下方式创建:

s = ['C:\images\' int2str(i) '.bmp'];
Run Code Online (Sandbox Code Playgroud)

此外,您的循环将简单地保持覆盖A,因此您将必须使其成为一个单元格数组来存储所有100个图像.在循环之外执行此操作:

A = cell(1,100);
Run Code Online (Sandbox Code Playgroud)

然后在循环中加载图像,如下所示:

A{i} = imread(s);
Run Code Online (Sandbox Code Playgroud)