1. 程式人生 > 實用技巧 >MATLAB 影象序列合成視訊

MATLAB 影象序列合成視訊

 1 for i=1:40
 2         fname=strcat('C:\Users\tc\Desktop\test\1 (',int2str(i),').bmp');
 3         im(:,:,i)=imread(fname); 
 4         imshow(im(:,:,i)) 
 5         M(i) = getframe; 
 6 end 
 7 
 8 movie2avi(M,'out.avi','FPS',8)%輸出視訊
 9 
10 注:一下是2012.12.28增加:
11 上面的程式雖然也能夠輸出視訊,不過效果不好,用到的getframe是截圖用的,而且幀數自己設定的也不可能達到最理想狀態,所以就有了以下的一段程式,功能和上面的是一樣的,不過效果更好。
12 13 clear all; 14 close all; 15 clc; 16 17 aviobj = avifile('out.avi','compression','None'); %初始化一個avi檔案 18 for i=1:30 19 fname=strcat(num2str(i),'.bmp'); 20   im(:,:,1)=imread(fname); %avi需要彩色資料 21   im(:,:,2)=im(:,:,1); 22   im(:,:,3)=im(:,:,1); 23   %以下兩步可要可不要 24   figure(1); 25   imshow(im) 26
  aviobj=addframe(aviobj,im); %一幀一幀的寫入avi 27 end 28 aviobj=close(aviobj); %將快取資料寫入avi