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

本文介绍了一种使用toolbox_master工具将seq文件批量转换为avi视频的方法。通过此程序,可以轻松处理大量seq文件,适用于需要将图像序列转换为连续视频的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该程序实现将一文件夹内的所有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)%输出视频;


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值