您的位置:首页 > 编程语言 > MATLAB

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

2014-09-24 19:10 615 查看
主要是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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: