如何在matlab中编写一个程序来读取一定数量的图像,例如20个保存在给定目录(C :)中,以便以后我可以使用它们。假设图像是通过数字保存的。之后,我会用它们。
答案 0 :(得分:0)
我的代码看起来像这样。假设单元格数组可以保存您的图像。
写出:
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中的工作方式不同)。
答案 1 :(得分: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