MATLAB 多张图像读取

我把300张数字图像保存在MATLAB的安装目录work文件夹下,建立了一个文件夹命名为trainsample,想读取该文件夹下的图像,但 老出错,想问怎么修改程序,程序如下
filename=dir('D:\Program Files\MATLAB\trainsample\*.bmp');
t=300;
for i=1:t
Q(:,:i)=imread(filename(i).name);
end

如果是我的话会这样,首先把trainsample加入系统的搜索路径(在add path里可以加),如果你的图像名字是规律的(如:m1.bmp,m2,bmp,m3.bmp......)
for i=1:300
Q(:,:,i)=imread(['m',num2str(i),'.bmp']);
end
注意:
1,你的高维数组Q在最后一个:后没有加逗号(前提是你的图像都是灰度图,不是RGB彩色图)
2,imread的参数是一个完整的字符串,你那个写法我没用过,应该是错的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-22
filename=dir('D:\Program Files\MATLAB\trainsample\*.bmp');
t=300;
for i=1:t
Q(:,:i)=imread(filename(i).name);
end
这个filename应该是结构体数据,你应该用Q{i}=imread(filename(i).name);