前言
视频处理分析的过程中,需要用到将视频一帧帧地读取,本文就涉及此问题。
系统环境
1.系统:win7_64
2.matlab版本:matlab2015a
测试代码
代码一:
%To read video frames. clc clear close all fileName = ‘E:\fatigue_detection\dataset\segVideosP1\1_5.avi‘; obj = VideoReader(fileName); numFrames = obj.NumberOfFrames; for i = 1 : numFrames frame = read(obj,i); imshow(frame); imwrite(frame,strcat(num2str(i),‘.jpg‘),‘jpg‘); end
代码二:
%To read video frames. clc clear close all fileName = ‘E:\fatigue_detection\dataset\segVideosP1\1_5.avi‘; xyloObj = VideoReader(fileName); vidWidth = xyloObj.Width; vidHeight = xyloObj.Height; % mov = struct(‘cdata‘,zeros(vidHeight,vidWidth,3,‘uint8‘),‘colormap‘,[]); while hasFrame(xyloObj) frame = readFrame(xyloObj); imshow(frame); end
代码可参考matlab的help文档;
注意:不同版本之间可能会存在一些代码问题,可参考help文档进行修正;
完
时间: 2024-10-31 19:37:47