读取视频帧matlab

Posted 鹅要长大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取视频帧matlab相关的知识,希望对你有一定的参考价值。

前言

视频处理分析的过程中,需要用到将视频一帧帧地读取,本文就涉及此问题。

系统环境

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文档进行修正;

以上是关于读取视频帧matlab的主要内容,如果未能解决你的问题,请参考以下文章

matlab与opencv读取同一帧视频时会得到不同的像素值

提取视频每一帧保存图片-MATLAB

将视频转换为单张图片(灰度)【MATLAB】

MATLAB如何实现从摄像头读取和处理视频?

基于MATLAB的视频车辆跟踪和计数系统仿真

关于MATLAB提取MP4视频帧时候,跨帧取速度会慢