使用平台:MATLAB 2014A
新建一个cut.m的脚本文件,
%% 将视频分成连续帧
clc;
clear;
%% 读取视频
video_file='D:\work\Ship_Video1.avi';
video=VideoReader(video_file);
frame_number=floor(video.Duration * video.FrameRate);
%% 分离图片
for i=1:frame_number
image_name=strcat('D:\Ship_Video1\',num2str(i));
image_name=strcat(image_name,'.jpg');
I=read(video,i); %读出图片
imwrite(I,image_name,'jpg'); %写图片
I=[];
end
我的视频是放在D盘work的文件夹下,最后视频分成的一帧一帧的图像是放在D盘的Ship_Video1的文件夹下。
之前用的函数是aviinfo,MATLAB2014a提示新版本将会删除这个函数,因此改用VideoReader 函数。
VideoReader 函数使用说明:
得到的视频信息:
最终在D盘的Ship_Video1生成5006帧图像。