做科研遇到的一个问题,有一个文件夹中的图片名称为字母与数字结合的,例如:命名格式为 a3.jpg, a5.jpg,a10.jpg,a12.5.jpg 等
需要将图片名称中的数字字符扩大2倍(n倍也是如此),然后重命名。
首先,把文件夹中的所有jpg文件读出来,名称 也读出来,然后对名称中的字符串进行提取,得到数字字符,然后重命名。
(如果使用Python写比较简单易懂,非要matlab实现程序如下)
clc;clear;
tic;
path_name = 'F:\sucai\';%需重命名图片的路径
file =dir(strcat(path_name,'*.jpg'));%读取文件夹下所有.jpg文件
num_file = length(file);%文件数量
for i = 1:num_file
old_filename =file(i).name; %把原路径下的文件名称取出来,为字符串
path_img = strcat(path_name,old_filename); %原文件夹中某一张图片的路径
img = (imread(path_img)); %读取一张图片
new_filename=old_filename(2:end-4);%把原图片的名称中数字的字符串取出来,例:a5.jpg得到的是字符5
num=str2num(new_filename);%字符串转化为数字
num=num*2; %数字扩大二倍
filename=['F:\sucai\实验1\a',num2str(num),'.jpg'];%%重命名写入新文件夹
imwrite(img,filename);%保存
end
toc;