matlab練習程序(圖像序列合成視頻)


for i=1:40
        fname=strcat('C:\Users\tc\Desktop\test\1 (',int2str(i),').bmp');
        im(:,:,i)=imread(fname); 
        imshow(im(:,:,i)) 
        M(i) = getframe; 
end 

movie2avi(M,'out.avi','FPS',8)%輸出視頻

注:一下是2012.12.28增加:
上面的程序雖然也能夠輸出視頻,不過效果不好,用到的getframe是截屏用的,而且幀數自己設置的也不可能達到最理想狀態,所以就有了以下的一段程序,功能和上面的是一樣的,不過效果更好。

clear all;
close all;
clc;

aviobj = avifile('out.avi','compression','None'); %初始化一個avi文件
for i=1:30
fname=strcat(num2str(i),'.bmp');
  im(:,:,1)=imread(fname); %avi需要彩色數據
  im(:,:,2)=im(:,:,1);
  im(:,:,3)=im(:,:,1);
  %以下兩步可要可不要
  figure(1);
  imshow(im)
  aviobj=addframe(aviobj,im); %一幀一幀的寫入avi
end
aviobj=close(aviobj); %將緩存數據寫入avi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM