clc;clear;
%读取视频(每个视频单独读取,可以改成读取一个文件夹里所有视频的方式)
readerobj = VideoReader('D:\视频文件\vedio\1.mp4', 'tag', 'myreader1');
savefile = 'D:\视频文件\vedio\\';
%是否倾斜
lineflag = 0;%0是不倾斜视频,1是人头都向左的视频
%抽帧间隔
interval = 1;%隔几帧抽一帧,每秒一般25或30帧,可用播放器确定帧率。
% Read in all video frames.
% vidFrames = read(readerobj);
% Get the number of frames.
numFrames = get(readerobj, 'NumberOfFrames');
% Create a MATLAB movie struct from the video frames.
for k = 1 :interval: numFrames
img = read(readerobj,k);
if lineflag==1
img = permute(img,[2,1,3]);
end
savename = fullfile(savefile,strcat(num2str(k),'.jpg'));%
imwrite(img,savename);
fprintf('%d/%d\n',k,numFrames);
end
%读取视频(每个视频单独读取,可以改成读取一个文件夹里所有视频的方式)
readerobj = VideoReader('D:\视频文件\vedio\1.mp4', 'tag', 'myreader1');
savefile = 'D:\视频文件\vedio\\';
%是否倾斜
lineflag = 0;%0是不倾斜视频,1是人头都向左的视频
%抽帧间隔
interval = 1;%隔几帧抽一帧,每秒一般25或30帧,可用播放器确定帧率。
% Read in all video frames.
% vidFrames = read(readerobj);
% Get the number of frames.
numFrames = get(readerobj, 'NumberOfFrames');
% Create a MATLAB movie struct from the video frames.
for k = 1 :interval: numFrames
img = read(readerobj,k);
if lineflag==1
img = permute(img,[2,1,3]);
end
savename = fullfile(savefile,strcat(num2str(k),'.jpg'));%
imwrite(img,savename);
fprintf('%d/%d\n',k,numFrames);
end