[轉載] 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。
如下便是 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',s2)、單個文件的轉化程序: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)%輸出視頻;新聞熱點
疑難解答