matlab实现对图像批量重命名
在实验过程中,图片命名不规范,可能会给我们后续处理数据带来很大的麻烦,因为一般程序从文件夹读取图像先按图片命名读取的,如果是1000张图像,从1开始命名,即1——1000,读取顺序并不是123…,而是11011 12 …100会先读取1开头的再读取2开头的,相当于乱序读取。所以有必要对图像规范命名。如果图片总数大于1000,可以修改内层for循环里面的条件和0的个数...
·
在实验过程中,图片命名不规范,可能会给我们后续处理数据带来很大的麻烦,因为一般程序从文件夹读取图像先按图片命名读取的,如果是1000张图像,从1开始命名,即1——1000,读取顺序并不是1 2 3…,而是1 10 11 12 …100会先读取1开头的 再读取2开头的,相当于乱序读取。所以有必要对图像规范命名。
如果图片总数大于1000,可以修改内层for循环里面的条件和0的个数
file_path1='待批量命名图像文件夹';
file_path2='命名之后图片保存的文件夹';
img_path_list = dir(strcat(file_path1,'*.png'));%获取该文件夹中所有jpg格式的图像
img_num = length(img_path_list);%获取图像总数量
if img_num > 0 %有满足条件的图像
for j = 1:img_num %逐一读取图像
image_name_old = img_path_list(j).name;% 图像名
if j<10
image_name_new = strcat('000',num2str(j),'.png');
image = imread(strcat(file_path1,image_name_old));
imwrite(image,strcat(file_path2,image_name_new))
elseif j>=10 && j<100
image_name_new = strcat('00',num2str(j),'.png');
image = imread(strcat(file_path1,image_name_old));
imwrite(image,strcat(file_path2,image_name_new))
elseif j>=100
image_name_new = strcat('0',num2str(j),'.png');
image = imread(strcat(file_path1,image_name_old));
imwrite(image,strcat(file_path2,image_name_new))
end
end
end

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)