matlab 批量改变文件夹下图像的格式或名称

有的时候,为了统一编程,需要统一文件夹下文件的格式和名称.当存在多个文件夹,且每个文件夹下文件数量巨大时,手动修改费时费力,让人心生烦闷,就需要自动化脚本自行处理. 本文以matlab下的编程为例,给出批量修改方案,欢迎大家批评指正!

clc
close all
clear all

datapath = './PublicDataDemo/';  % 指定位置  相对或绝对路径

%% 读取数据集
imgdirs = dir(datapath);
isSubDir = [imgdirs(:).isdir]; %# returns logical vector  
imgdirs = {imgdirs(isSubDir).name}';  
imgdirs(ismember(imgdirs,{'.','..'})) = [];  % 得到指定位置下的所有文件夹
dirlens = length(imgdirs);

for i=1:dirlens
    imgpath = strcat(datapath,imgdirs{i},'/*.tiff'); 
    imglists = dir(imgpath);  % 搜索指定格式的图像文件
    
    imglens = length(imglists);

    if(imglens > 0)
        for j=1:imglens
            imgname = strcat(datapath,imgdirs{i},'/',imglists(j).name);
%% 1. 修改文件格式
                 img = imread(imgname);
                 imwrite(img,strrep(imgname,'.tiff','.png')); % 用新名称替换旧名称
                 pause(500);
                 delete(imgname); % 给保存文件一定时间后,删除原格式文件


%% 2. 修改文件名称
%            mark = 'AnyConv.com__'; % 待替换字符串
%            if(contains(imgname,mark))
%                 img = imread(imgname);
%                 imwrite(img,strrep(imgname,mark,'newtype')); % 用新名称替换旧名称
%                 pause(500);
%                 delete(imgname); % 给保存文件一定时间后,删除原名称文件
%            end
        end
    end
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值