我想用下面的代码将一堆MP4文件转换成AVI。我知道该转换工作正如我在单个文件中验证过的那样。但是,当我尝试从目录中读取所有mp4时,我尝试创建的'files'结构为空。我在MatLab编程方面比较新,所以我确信我犯了很多愚蠢的错误。我如何正确加载和遍历多个mp4文件,以便将它们全部转换为avis?谢谢!批量转换MP4到AVI
注意:我尝试过不同的转换方法,但是MatLab似乎是确保没有尺寸或质量失真的最佳方法。
files = dir(fullfile('E:\Heather\Summer2013\*.mp4'));
for i = 1:length(files)
filename = files(i).name;
%create objects to read and write the video
readerObj = VideoReader('files(i).name.mp4');
writerObj = VideoWriter('files(i).name.avi','Uncompressed AVI');
%open AVI file for writing
open(writerObj);
%read and write each frame
for k = 1:readerObj.NumberOfFrames
img = read(readerObj,k);
writeVideo(writerObj,img);
end
close(writerObj);
end