2016-03-11 34 views
0

請使用下面的代碼從多個圖像(JPG)製作視頻。它工作正常。我的問題是,我有10000個圖像,代碼生成電影的擴展名爲avi。這使得電影的大小非常大。有沒有反正用mp4延期保存電影?MatLab製作來自多個圖像(JPG)的(MPEG-4)電影

cd('\\Desktop\Movies'); 
Files = dir('*.jpg'); 
NumFiles= size(Files,1); 
Megamind_Images = uint8(zeros([600 1000 3 NumFiles*5])); 
VideoObj = VideoWriter('Create_Video'); 
VideoObj.FrameRate = 5; 
VideoObj.Quality = 80; 
count=1; 
for i = 1 : NumFiles 
I = imread(Files(i).name); 
ResizeImg = imresize(I,[600 1000]); 
for j = 1 : 5 
Megamind_Images(:,:,:,count)=ResizeImg; 
count = count + 1; 
end 
end 
open(VideoObj); 
writeVideo(VideoObj, Megamind_Images); 
close(VideoObj); 
+1

它自動寫入AVI很奇怪。我從來沒有見過MATLAB做過。您是否嘗試手動指定視頻的配置文件? 'VideoObj = VideoWriter('Create_Video.mp4','MPEG-4');'? – rayryeng

+0

@rayryeng。你好,非常感謝。它的工作! – Ali

+0

非常歡迎。我正式寫了一個答案。如果你不介意接受,我會非常感激。謝謝! – rayryeng

回答

0

嘗試在將幀寫入對象之前手動指定視頻的輸出配置文件。

VideoObj = VideoWriter('Create_Video.mp4', 'MPEG-4');