1. 程式人生 > >Matlab將影象幀合成視訊

Matlab將影象幀合成視訊

在我之前的一篇博文《Matlab將視訊解析成影象幀》中,我給出了將一段視訊解析成影象幀的Matlab程式碼。在這篇博文中我們將實現相反的功能,即將若干影象幀合成一段視訊。具體的Matlab程式碼如下(注:程式碼中給出的檔案路徑僅為示意,讀者可以改成自己需要的格式):

route='F:\Database\Benchmark\';%基本路徑
name='Bolt';%
d=dir([route name '\imgs\*.jpg']);%.jpg格式

WriterObj=VideoWriter('C:\Users\Asus\Desktop\Bolt.avi');%待合成的視訊(不僅限於avi格式)的檔案路徑
open(WriterObj);

n_frames=numel(d);% n_frames表示影象幀的總數
for i=1:n_frames 
frame=imread([route name '\imgs\' d(i).name]);%讀取影象,放在變數frame中
writeVideo(WriterObj,frame);%將frame放到變數WriterObj中
%%為每一幀影象編號
%imshow(frame);
%text(5,18,num2str(i),'color','y','Fontweight','bold','FontSize',18);
%writeVideo(WriterObj,frame2im(getframe(gcf)));
end
close(WriterObj);