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 = 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

Ubuntu Server上安装Matlab

Matlab与C/C++联合编程之从Matlab调用C/C++代码

二分类SVM方法Matlab实现

Matlab中的取整函数fix, floor, ceil与round

Matlab编译cuda的.cu文件

Linux Matlab服务器进一步改造成Application Server(应用程序服务器)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e508b240654ded1c85d3ccf2e17fdfa3.html