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