2016-03-11 36 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');