主要是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 = read(video,i); P = mov(i).cdata;
%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
原文地址:http://blog.csdn.net/u013476464/article/details/39526851