readFrame
阅读下一视频帧
描述
例子
创建VideoReader对象并读取视频
创建一个VideoReader
对象用于示例电影文件xylophone.mp4
.
v =视频阅读器(“xylophone.mp4”);
从视频中读取所有帧,一次一帧。
而hasFrame(v) frame = readFrame(v);结束
显示返回的最后一帧的信息readFrame
.
谁框架
名称大小字节类属性frame 240x320x3 230400 uint8
读取特定时间开始的视频帧
创建一个视频读取器对象,读取特定时间开始的视频帧。
创建一个对象来读取示例电影文件xylophone.mp4
.
v =视频阅读器(“xylophone.mp4”);
指定从视频开始后2.5秒开始的读数。
v.CurrentTime = 2.5;
创建一个axis对象来显示框架。然后,继续读取和显示视频帧,直到没有更多的帧可供读取。
currAxes =轴;而hasFrame(v) vidFrame = readFrame(v);图像(vidFrame,“父”, currAxes);currAxes。可见=“关闭”;暂停(1 / v.FrameRate);结束
读取和回放电影文件
读取并回放示例电影文件,xylophone.mp4
.
创建一个VideoReader
对象从示例文件中读取数据。然后,确定视频的宽度和高度。
xyloObj =视频阅读器(“xylophone.mp4”);vidWidth = xyloObj.Width;vidHeight = xyloObj.Height;
创建一个电影结构数组,mov
.
Mov = struct(cdata的0 (vidHeight vidWidth 3“uint8”),...“colormap”[]);
每次读一帧,直到视频结束。
K = 1;而hasFrame xyloObj mov (k)。cdata= readFrame (xyloObj); k = k+1;结束
根据视频的宽度和高度调整图形的大小。然后,以视频帧率回放电影一次。
Hf =图;集(高频,“位置”,[150 150 vidWidth vidHeight]);电影(高频、mov xyloObj.FrameRate);
输入参数
v
- - - - - -输入videereader对象
VideoReader
对象
输入videereader对象。使用VideoReader
函数从视频文件中创建一个VideoReader对象。
输出参数
视频
-视频帧数据
数组
视频帧数据,作为数组返回。的维度和数据类型视频
取决于VideoFormat
的属性obj
.
的数据类型和维度如下表所示视频
对于大多数文件。H
图像帧的高度和W
是图像帧宽度。当VideoFormat
的属性obj
是“索引”
的数据类型和维数视频
取决于你是否打电话读
与“本地”
论点。
的价值obj。VideoFormat |
数据类型视频 |
的尺寸视频 |
描述 |
---|---|---|---|
“RGB24” ,有或没有说明“本地” |
uint8 |
|
RGB24形象 |
“灰度” ,但没有说明“本地” |
uint8 |
|
灰度图像 |
“索引” ,但没有说明“本地” |
uint8 |
|
RGB24形象 |
“灰度” 或“索引” ,指定“本地” |
结构体 |
1×1 |
MATLAB®Movie,它是帧结构数组的数组,每个数组包含字段 |
的数据类型和尺寸视频
如下。
的价值obj。VideoFormat |
数据类型视频 |
的尺寸视频 |
描述 |
---|---|---|---|
“Mono8” |
uint8 |
|
Mono的形象 |
“Mono8签署” |
int8 |
|
单符号图像 |
“Mono16” |
uint16 |
|
Mono的形象 |
“Mono16签署” |
int16 |
|
单符号图像 |
“RGB24” |
uint8 |
|
RGB24形象 |
“RGB24签署” |
int8 |
|
RGB24符号图像 |
“RGB48” |
uint16 |
|
RGB48形象 |
“RGB48签署” |
int16 |
|
RGB48符号图像 |
“本地”
中指定的格式VideoFormat
财产
字符向量|字符串标量
中指定的格式VideoFormat
属性,指定为字符向量或字符串标量,“本地”
.
数据类型:字符
|字符串
限制
对于Windows上的一些AVI、MOV或MP4文件®,使用
readFrame
函数读取文件中的所有帧的结果可能与函数返回的值不同NumFrames
的属性VideoReader
对象。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
代码生成
readFrame
不支持可选位置参数万博1manbetx本地的
.生成使用行主布局的代码生成使用行主数组布局的代码(MATLAB编码器).
数组大小限制——对于代码生成,数组的最大元素数量受到代码生成器和目标硬件的限制。有关更多信息,请参见代码生成的数组大小限制(MATLAB编码器).
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。