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(应用程序服务器)

本文永久更新链接地址:

相关内容

    暂无相关文章