Вы можете прочитать AVI-файл в MATLAB , используя встроенный mmreader
класс . После прочтения кадров AVI в массив структурных кадров фильмов их можно сохранить в виде файла YUV с помощью функции saveFileYuv
, представленной в этом представлении из MathWorks File Exchange *1006*:
Ваш код может выглядеть примерно так:
%# Get the video data:
vidObj = mmreader('myVideo.avi'); %# Create a video file object
nFrames = vidObj.NumberOfFrames; %# Get the number of frames
vidHeight = vidObj.Height; %# Get the image height
vidWidth = vidObj.Width; %# Get the image width
%# Preallocate the structure array of movie frames:
mov(1:nFrames) = struct('cdata',zeros(vidHeight,vidWidth,3,'uint8'),...
'colormap',[]); %# Note that colormap is empty!
%# Read each video frame into the structure array:
for k = 1:nFrames
mov(k).cdata = read(vidObj,k); %# Place frame k in the cdata field of mov(k)
end
%# Save the movie frame array as a YUV 4:2:0 file:
saveFileYuv(mov,'myVideo.yuv',1);