该程序实现将一文件夹内的所有seq文件转化为avi文件。实现前提是准备好toolbox_master,将seq按照1.seq,2.seq的样式备好,
toolbox可见http://download.youkuaiyun.com/detail/jjff46/8131043。 统一文件重命名名可参照http://blog.youkuaiyun.com/jjff46/article/details/38902551。
clear
DIR='C:\Users\Administrator\Desktop\OlympicSports\triple_jump\';
file=dir(strcat(DIR,'*.seq'));
filenum=size(file,1);
backup=file;
for k=1:filenum
file(k,1).name=strcat(DIR,file(k,1).name);
end
for j=1:filenum
delete('D:\aa\*.jpg');
delete('D:\aa\*.png');
info = seqIo(file(j,1).name, 'getInfo' );
waittime=ceil(info.numFrames/info.fps);
Is = seqIo(file(j,1).name, 'toImgs', 'D:\aa', [1], [0],[info.numFrames-1],[]); %///error
pic=dir('D:\aa\*.jpg');
num=size(pic,1);
if num~=0
for i=1:num
im(:,:,:,i)=imread(strcat('D:\aa\I',sprintf('%05d',i-1),'.jpg'));
imshow(im(:,:,:,i)) ;
M(i) = getframe;
end
else
pic=dir('D:\aa\*.png');
num=size(pic,1);
for i=1:num
im(:,:,:,i)=imread(strcat('D:\aa\I',sprintf('%05d',i-1),'.png'));
imshow(im(:,:,:,i)) ;
M(i) = getframe;
end
end
viodename=strcat(backup(j,1).name(1:2),'.avi');
movie2avi(M,viodename,'FPS',info.fps)%输出视频;
pause(waittime);
clear im
clear M
end
单个文件的转化程序
clc
clear
mm=10;
delete('D:\aa\*.jpg');
delete('D:\aa\*.png');
filename=strcat(num2str(mm),'.seq');
aa=strcat('C:\Users\Administrator\Desktop\OlympicSports\shot_put\',filename);
info = seqIo(aa, 'getInfo' );
Is = seqIo( aa, 'toImgs', 'D:\aa', [1], [0],[info.numFrames-1], [] ); %91是总帧数
pic=dir('D:\aa\*.jpg');
%取文件的数量:num
num=size(pic,1);
if num~=0
for i=1:num
im(:,:,:,i)=imread(strcat('D:\aa\I',sprintf('%05d',i-1),'.jpg'));
imshow(im(:,:,:,i)) ;
M(i) = getframe;
end
else
pic=dir('D:\aa\*.png');
num=size(pic,1);
for i=1:num
im(:,:,:,i)=imread(strcat('D:\aa\I',sprintf('%05d',i-1),'.png'));
imshow(im(:,:,:,i)) ;
M(i) = getframe;
end
end
movie2avi(M,'10.avi','FPS',info.fps)%输出视频;