首页 > 学院 > 开发设计 > 正文

matlab 实践程序2——批量将seq文件转化为avi文件

2019-11-08 02:41:05
字体:
来源:转载
供稿:网友

[转载] http://blog.csdn.net/jjff46/article/details/40889539

一、目的

批量将seq文件转化为avi文件,这里是通过matlab程序来实现的。

二、准备工作

准备好toolbox_master,并且将seq文件按照1.seq,2.seq的样式命名好。 1)、toolbox可从这个链接下载http://download.csdn.net/detail/jjff46/8131043, 里边给了使用说明文档。 2)、统一文件重命名名可参照http://blog.csdn.net/jjff46/article/details/38902551。

三、运行toolbox_master中的yjy_avi.m程序

如下便是 yjy_avi.m对应的源码, 1)、可转换多个seq文件:

clear DIR='E:/Code_matlab2014/seq2avi/seq/';file=dir(strcat(DIR,'*.seq'));filenum=size(file,1);backup=file;for k=1:filenumfile(k,1).name=strcat(DIR,file(k,1).name);endfor 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 %默认是jpg格式 for i=1:num im(:,:,:,i)=imread(strcat('D:/aa/I',sPRintf('%05d',i-1),'.jpg')); imshow(im(:,:,:,i)) ; title(strcat(num2str(i),'.jpg')); M(i) = getframe; end else %否则为png格式 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 Mend

2)、单个文件的转化程序:

clcclearmm=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 %默认是jpg格式 for i=1:num im(:,:,:,i)=imread(strcat('D:/aa/I',sprintf('%05d',i-1),'.jpg')); imshow(im(:,:,:,i)) ; M(i) = getframe; end else %否则为png格式 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)) ; title(strcat(num2str(i),'.jpg')); M(i) = getframe; end endmovie2avi(M,'10.avi','FPS',info.fps)%输出视频;
上一篇:A+B

下一篇:hdu 2594

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表