2011-05-03 95 views
0

如何在matlab中编写一个读取一定数量图像的程序比方说20个例如保存在给定目录(C :)中的例子,以便以后我可以使用它们。假设图像是通过数字保存的。之后,我会使用它们。matlab代码源

+0

你试过什么了?您是否看过文档'imread()'? – 2011-05-03 08:46:13

+0

可能的重复[在MATLAB中加载多个图像](http://stackoverflow.com/questions/2408112/loading-multiple-images-in-matlab) – gnovice 2011-05-03 13:53:03

回答

0

我想代码看起来像这样。假设单元格数组im保存你的图像。

写出:

IMG_DIR = 'C:\'; 
filename_root = 'image'; 
IMG_EXT = '.jpg'; 

NUM_IMAGES = 20; 

for i = 1:NUM_IMAGES 
    imwrite(im{i}, [IMG_DIR filename_root num2str(i) IMG_EXT]); 
end 

阅读语言

for i = 1:NUM_IMAGES 
    im{i} = imread([IMG_DIR filename_root num2str(i) IMG_EXT]); 
end 

如果你不知道有多少,你也可以用ls命令(工作方式不同在Windows与Linux的) 。

0

如果你不知道,在前进,哪些文件会在那里,但你知道,他们有他们的字符串,'rawImage'(如'rawImage001.jpg'等),你可以这样做

a = dir('c:\temp'); 
requiredBaseFileName = 'rawImage'; % you want them to contain the substring 'rawImage' 

for i = 1:length(a), 

    fileName = a(i).name; 

    if(isempty(strfind(fileName,'.jpg')) & isempty(strfind(fileName,'.png'))) 
      continue; 
    end 


    if(isempty(strfind(fileName,requiredBaseFileName))) 
      continue; 
    end 
    % do your processing here 

end