【发布时间】:2013-08-18 03:15:12
【问题描述】:
我想使用 matlab for 循环将 .bmp 图像加载到行向量中。循环和文件名不是按顺序循环的。以下是我的代码和文件名示例。我试图找出问题,我发现,文件号将开始循环并从 1 读取,然后直接到 10、11、12、13、14、15 直到 19,然后只从 2 循环,然后是 21 ,22,23,24,直到 29,然后只有 3,然后是 31.... 文件名只读前面的数字。我可以知道如何解决这个问题吗?我希望从 img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11 循环文件
%file names : (30 image files)
%img1.bmp - img30.bmp
%Matlab codes start here :
train_img_num = numel(train_files);
train_img = [];
for i=1:1:train_img_num
number = num2str(i);
filename = fullfile(userFolder2, train_files(i).name);
img = reshape((mat2gray(im2double(imread(filename))))',1,180000);
train_img(i,:) = img(:);
clear img;
end
【问题讨论】:
-
循环遵循
{train_files.name}中的顺序。此外,如果您的文件名称为 file1、...、file10、...file20 等...则顺序尊重字典排序。将文件重命名为 file01、file02 等... -
请问如何解决这个问题,根据整数而不是前面的数字加载文件?