首页 > 代码库 > Matlab 处理avi视频文件为单帧任意大小图片

Matlab 处理avi视频文件为单帧任意大小图片

主要是imresize()这个函数的用法。



上代码:

clc;
clear;
video=mmreader('D:\videotest\Video 1.avi');
nFrames = video.NumberOfFrames;   %得到帧数
H = video.Height;                 %得到高度
W = video.Width;                  %得到宽度
Rate = video.FrameRate;
% Preallocate movie structure.
mov(1:nFrames) = struct('cdata',zeros(H,W,3,'uint8'),'colormap',[]);


%获取每一帧
for i = 1:nFrames
     mov(i).cdata = http://www.mamicode.com/read(video,i);>
     %imresize() []中格式要求:[高 宽] 
     Q = imresize(P,[720 960]);
     disp('当前播帧数:'),disp(i);
     imshow(P),title('原始图片');%显示原始图片
     
     if i<10
     imwrite(Q,strcat('0000',int2str(i),'.jpg'),'jpg');%写入文件中
     else if i>=10 & i<100
     imwrite(Q,strcat('000',int2str(i),'.jpg'),'jpg');
     else 
     imwrite(Q,strcat('00',int2str(i),'.jpg'),'jpg');
         end
     end
end


Matlab 处理avi视频文件为单帧任意大小图片