保存图像集作为图像名称的单元格数组

时间:2014-04-10 08:15:44

标签: matlab

我的问题是检索一组100个图像并使用for循环将它们保存到单元格数组中,以便我的单元格数组看起来就像查找下面的命令一样 -

imageNames = {'1.jpg', '2.jpg', '3.jpg', '4.jpg', .. . . . . ,'100.jpg'}

单元格数组包含每个图像的名称。

2 个答案:

答案 0 :(得分:3)

如果您要创建字符串1.jpg2.jpg3.jpg等单元格数组,请使用此选项 -

cellfun(@strtrim,cellstr(strcat(num2str([1:100]'),'.jpg'))','uni',0)

输出 -

'1.jpg'    '2.jpg'    '3.jpg'    '4.jpg'    '5.jpg'    '6.jpg'    '7.jpg'  ....

编辑1:如果您希望将JPG文件名放入单元格数组中,可以使用ls列出所有JPG文件名,然后存储到像这样的单元格数组 -

regexp(ls('*.jpg'),'\s ','Split')

答案 1 :(得分:1)

这个问题有点不清楚。检索究竟意味着什么?

我假设您在文件夹中有100个文件,并且想要创建一个包含文件名的单元格数组。 dir命令应该派上用场,然后是arrayfun,将包含名称的结构数组转换为仅名称的单元格数组。

files = dir('*.jpg');
names_in_cell_array = arrayfun(@(x) x.name, files, 'UniformOutput', false);