MATLAB将视频保存为MAT类型

%读取视频文件,不再需要用aviread,因为aviread很多压缩格式不支持,推荐使用VideoReader类
xyloObj = VideoReader('E:\VIDEOS\MILTrackData\dollar.avi');

%获取视频信息(帧数,高度,宽度)
nFrames = xyloObj.NumberOfFrames;
vidHeight = xyloObj.Height;
vidWidth = xyloObj.Width;

% 先随机生成一个2维矩阵,double类型的
 data=rand(vidHeight, vidWidth);
%或者使用zeros函数,比较节省内存: data=zeros(vidHeight, vidWidth,'uint8');

% 读取第k帧,转化为灰度图像,扩展为三维数组
for k = 1 : nFrames
    imgdata=read(xyloObj,k);
    graydata=rgb2gray(imgdata);
    data(:,:,k)=graydata;
end

%这样将一个图像大小为row*col,帧数为m的视频文件就生成了 row*col*m的三维数组。
%在工作空间中,另存为mat数据文件即可。

你可能感兴趣的:(MATLAB将视频保存为MAT类型)