如何在matlab上加载一堆图像

时间:2014-03-24 10:38:14

标签: arrays image matlab

我在一个文件夹中有170个png图像。 我想加载并存储在矩阵/数组/单元格数组中,这样我就可以轻松访问和修改它们,但我一开始就陷入困境。 我该怎么做?哪个是最好的结构?

1 个答案:

答案 0 :(得分:0)

假设它们的大小相同,则在包含图像的文件夹中:

list=dir('*.png'); % read all the .pngs in your folder

Image1=imread(list(1).name); % read the first image to calculate the dimentions of your stack
ImSize=size(Image1)

ImageStack=zeros(ImSize(1),ImSize(2),length(list)); % preallocate your stack with zeros


for ii=1:length(list)

    Image=imread(list(ii).name
    ImageStack(:,:,ii)=rgb2gray(Image); % copy an image in each step of the third dimsion of your stack 
end

如果您需要颜色信息,只需向ImageStack添加另一个维度,然后忘记rgb2gray()。希望有所帮助!