在matlab下,可以将视频转化成每一帧进行保存。(不能实时)
具体代码如下:
Obj = VideoReader('Crowd-Activity-All.avi');%读取视频
vidWidth = Obj.Width;
vidHeight = Obj.Height;
video = struct('frame',zeros(vidHeight,vidWidth,3,'uint8'));
k = 1;
while hasFrame(Obj)
video(k).frame = readFrame(Obj);
k = k+1;
end
网上还有一种版本,但是较新的matlab版本下,可能会出现一些问题。
obj = VideoReader('Crowd-Activity-All.avi');%输入视频位置
numFrames = obj.NumberOfFrames;% 帧的总数 NumberOfFrames
for k = 1 : numFrames% 读取所有帧
frame = read(obj,k);%读取第几帧
% imshow(frame);%显示帧
imwrite(frame,strcat('UMN',num2str(k),'.jpg'),'jpg');% 保存帧
end
ps:我的matlab 版本为2014b。
关于每一个命令的意思,可以自行百度。