read
读取一个或多个视频帧
说明
示例
使用帧索引读取视频帧
为示例视频文件 xylophone_video.mp4
创建一个 VideoReader
对象。
v = VideoReader("xylophone_video.mp4");
只读取第一个视频帧。
firstFrame = read(v,1);
只读取最后一个视频帧。
lastFrame = read(v,Inf);
读取第 5 帧到第 10 帧。
earlyFrames = read(v,[5 10]);
从第 50 帧开始读取到视频文件结束。
lateFrames = read(v,[50 Inf]);
显示视频帧变量的大小和类型信息。
whos *Frame*
Name Size Bytes Class Attributes earlyFrames 240x320x3x6 1382400 uint8 firstFrame 240x320x3 230400 uint8 lastFrame 240x320x3 230400 uint8 lateFrames 240x320x3x92 21196800 uint8
清除 VideoReader
对象。
clear v
输入参数
v
— 输入 VideoReader
对象
VideoReader
对象
输入 VideoReader
对象。使用 VideoReader
函数根据您的视频文件创建一个 VideoReader
对象。
index
— 要读取的帧
[1 Inf]
(默认) | 数值标量 | 二元数组
要读取的帧,指定为数值标量或二元数组。
要读取单个帧,请指定数值标量。
要读取某一范围的帧,请指定一个两元数组。
第一帧编号为 1,Inf
表示文件的最后一帧。
示例: 10
示例: Inf
示例: [1 20]
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
输出参量
video
— 视频帧数据
数值数组 | 结构体数组
视频帧数据,以数值数组或结构体数组的形式返回。video
的大小和格式取决于 v
的 VideoFormat
属性。如果 v
的 VideoFormat
属性为 'Indexed'
或 'Grayscale'
,则 video
的数据类型和维度取决于您是否使用 'native'
参量调用 read
。对于大多数文件,video
的数据类型和维度如下所示。
H
是图片帧高度,W
是图片帧宽度,F
是读取的帧数。
obj.VideoFormat 的值 | video 的数据类型 | video 的维度 | 描述 |
---|---|---|---|
'RGB24' ,指定或不指定 'native' | uint8 |
| RGB24 图片 |
'Grayscale' ,不指定 'native' | uint8 |
| 灰度图片 |
'Indexed' ,不指定 'native' | uint8 |
| RGB24 图片 |
'Grayscale' 或 'Indexed' ,指定 'native' | struct | 1× | MATLAB® 影片,是由帧结构体数组构成的数组,每个数组都包含 |
对于 Motion JPEG 2000 文件,video
的数据类型和维度如下所示。
obj.VideoFormat 的值 | video 的数据类型 | video 的维度 | 描述 |
---|---|---|---|
'Mono8' | uint8 |
| 黑白图片 |
'Mono8 Signed' | int8 |
| 黑白签名图片 |
'Mono16' | uint16 |
| 黑白图片 |
'Mono16 Signed' | int16 |
| 黑白签名图片 |
'RGB24' | uint8 |
| RGB24 图片 |
'RGB24 Signed' | int8 |
| RGB24 签名图片 |
'RGB48' | uint16 |
| RGB48 图片 |
'RGB48 Signed' | int16 |
| RGB48 签名图片 |
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
read
的代码生成不支持可选的位置参量native
。
生成使用行优先布局的代码 - Generate Code That Uses Row-Major Array Layout (MATLAB Coder)。
版本历史记录
在 R2010b 中推出
另请参阅
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)