【MATLAB 数据处理demo】

MATLAB 数据处理demo

一、批量修改图像的文件名

clc;
clear;
path ='G:\\test\A2\';%要修改文件所在文件夹
Files= dir(strcat(path,'*.png'));%获得要改类型文件名的目录列表,这里以png文件为例
for i=1:length(Files)    %循环读取
    x1=Files(i).name;%取出第一个文件的名称         
    a = sprintf('%05d',i);%类似00001’为前缀的命名方式,数字依次递增     
    x2=[num2str(a),'.jpg'];%转为字符串   
    copyfile([path x1],['G:\test\A3\' x2]);%复制到“处理好的数据”文件夹中
end

二、批量修改图像的尺寸+文件名

%% 1.批量读取图片并进行尺寸修改
otpDir='G:\in\';%输出路径
imagePath = 'G:\out\'; %读取路径 
imageFiles = dir(imagePath); %%读取目录文件下的所有图片文件  
numFiles = length(imageFiles);%%获取图片的数量  
for i=1:numFiles                
    disp(i); %%disp() 函数直接将内容输出在Matlab命令窗口中  
    imageFile = strcat(imagePath,imageFiles(i).name) ;  
 
    A = imread(imageFile); %%读入图片  
    B = imresize(A,[405 720]); %%修改图片尺寸   
    filename=[num2str(i,'%5d'),'.jpg'];%输出的图片名称是i.jpg,如00001.png
    path=fullfile(otpDir,filename);%输出的路径
    imwrite(B,path,'jpg');%以jpg格式保存
end 

三、视频转图片

clc
clear

v = VideoReader('H:\DNBQE1399.MOV');%读取视频文件
i = 1;
while 1
    if ~hasFrame(v)
        break;
    end
    frame = read(v,i);
    temp=strcat('H:\q\',num2str(i,'%05d'),'.','jpg');%图片保存路径
    imwrite(frame,temp);
    i = i+1;
end

四、批量视频转图片,以文件名创建单独文件夹

clc
clear

folder = '视频文件夹路径';
cd(folder);
files = dir('*.MP4');%获取所有MP4文件

for i=1:length(files)
    filename = files(i).name;
    %创建以视频文件名命名的文件夹
    outpath = strsplit(filename,'.');
    path1 = char(outpath(1));
    if ~isfolder(path1)
        mkdir(path1);
    end
    %读取视频文件
    v = VideoReader(files(i).name);
    i = 1;
    while 1
        if ~hasFrame(v)
            break;
        end
        frame = read(v,i);
        temp=strcat(path1,'\',num2str(i,'%05d'),'.','jpg');%图片保存
        imwrite(frame,temp);
        i = i+1;
    end

end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值