matlab中的VideoReader函数 read函数

来源

%取第一个文件夹里面的第一个视频
readerObj = VideoReader(strcat(strPath,nameFolds{
    
    1},'\',fileList(1).name));
vidFrames = read(readerObj);  %读取所有帧
numFrames = get(readerObj, 'NumberOfFrames'); % 帧数
% numFrames = readerObj.NumberOfFrames  % 也可以获得帧数

         
在这里插入图片描述

         

VideoReader函数

          用于创建 VideoReader 对象,使用对象的属性查询视频信息,然后使用对象函数读取视频。VideoReader 对象包含有关视频文件的信息,并允许用户从视频中读取数据。

语法

  • v = VideoReader(filename) 创建对象 v,用于从名为 filename 的文件读取视频数据。

  • v = VideoReader(filename,Name,Value) 使用名称-值对组设置属性 CurrentTime、Tag 和 UserData。

          例如,VideoReader(‘myfile.mp4’,‘CurrentTime’,1.2) 开始读取 1.2 秒的视频。可以指定多个名称-值对组。用单引号将每个属性名称括起来,后跟对应的值。

输入参数

  • filename - 文件名 字符向量 | 字符串标量

         

read函数

          作用:读取一个或多个视频帧

1、 语法

  • video = read(v) 从与 v 相关联的文件读取所有视频帧。
  • video = read(v,index) 只读取 index 指定的帧。
  • video = read(___,‘native’) 以 VideoFormat 属性指定的格式返回数据,并且可以包含上述语法中的任何输入参数。

          创建一个视频读取器对象,并使用帧索引读取一个或多个视频帧。为示例影片文件 abc.mp4 创建一个VideoReader 对象。

v = VideoReader('abc.mp4');

          只读取第一个视频帧。

frame = read(v,1);

          只读取最后一个视频帧。

frame = read(v,Inf);

          读取第 5 帧到第 10 帧。

frames = read(v,[5 10]);

          从第 50 帧开始读取到视频文件结束。

frames = read(v,[50 Inf]);

猜你喜欢

转载自blog.csdn.net/qq_43657442/article/details/109170079