如何重命名目录中的所有图像

时间:2014-01-26 12:43:17

标签: matlab image-processing

我有一个包含200个jpeg图像的目录。我想要的是重命名所有这些图像。那么我怎样才能同时重命名所有图像。例如,我想将第一个图像重命名为“hello1”,将第二个图像重命名为“hello2”,将第三个图像重命名为“hello3”....>将“hello200”重命名为200.

您可以在下面找到我的代码:

maximagesperdir = inf;
directory='imagess';
dnames = {directory};
fprintf('Reading images...');
cI = cell(1,1);
  c{1} = dir(dnames{1});
  if length(c{1})>0,
    if c{1}(1).name == '.',
      c{1} = c{1}(4:end);
    end
  end
  if length(c{1})>maximagesperdir,
    c{1} = c{1}(1:maximagesperdir);
  end
  cI{1} = cell(length(c{1}),1);
  for j = 1:length(c{1}),
    cI{1}{j} = double(imread([dnames{1} '/' c{1}(j).name]))./255;
  end
fprintf('done.\n');

2 个答案:

答案 0 :(得分:1)

以下是重命名当前目录中所有文件的一些代码,您显示的代码似乎是读取而不是重命名。

fnames = dir('*.jpg');
for i = 1:length(fnames)
   old_name = fnames(i).name;
   new_name = sprintf('hello%d.jpg', i);
   movefile(old_name, new_name)
end

答案 1 :(得分:0)

如果您只是想重命名文件而不是对图像执行操作然后重命名,那么总有一个总指挥官程序是一个有用的小东西。您选择所有文件,然后使用ctrl + m选择要重命名的方式(日期,名称等)。如果您希望几乎不执行重命名操作,那么非常简单。我只是说......