Read one or more video frames
Create a video reader object and read one or more video frames using the frame indices.
Create a VideoReader
object for the example movie file xylophone.mp4
.
v = VideoReader('xylophone.mp4');
Read only the first video frame.
frame = read(v,1);
Read only the last video frame.
frame = read(v,Inf);
Read frames 5 through 10.
frames = read(v,[5 10]);
Read from the 50th frame to the end of the video file.
frames = read(v,[50 Inf]);
v
— Input VideoReader objectVideoReader
objectInput VideoReader object. Use the VideoReader
function to
create a VideoReader object from your video file.
index
— Frames to read[1 Inf]
(default) | numeric scalar | two-element arrayFrames to read, specified as a numeric scalar or a two-element array.
To read a single frame, specify a numeric scalar.
To read a range of frames, specify a two-element array.
The first frame number is 1, and Inf
represents the
last frame of the file.
Example: 10
Example: Inf
Example: [1 20]
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'native'
— Flag to use format specified in VideoFormat
propertyFlag to use format specified in VideoFormat
property,
specified as the character vector or a string scalar,
'native'
.
Data Types: char
| string
video
— Video frame dataVideo frame data, returned as a numeric or structure array. The size and
format of video
depends on the
VideoFormat
property of v
. When
the VideoFormat
property of v
is
'Indexed'
or 'Grayscale'
, the data
type and dimensions of video
depend on whether you call
read
with the 'native'
argument.
For most files, the data type and dimensions of video
are
as follows.
H
is the image frame height, W
is
the image frame width, and F
is the number of frames
read.
Value of
obj.VideoFormat | Data Type of
video | Dimensions of
video | Description |
---|---|---|---|
'RGB24' , with or without specifying
'native' | uint8 |
| RGB24 image |
'Grayscale' , without specifying
'native' | uint8 |
| Grayscale image |
'Indexed' , without specifying
'native' | uint8 |
| RGB24 image |
'Grayscale' or
'Indexed' , specifying
'native' | struct | 1-by- | MATLAB® movie, which is an array of frame
structure arrays, each containing the fields
|
For Motion JPEG 2000 files, the data type and dimensions of
video
are as follows.
Value of
obj.VideoFormat | Data Type of
video | Dimensions of
video | Description |
---|---|---|---|
'Mono8' | uint8 |
| Mono image |
'Mono8 Signed' | int8 |
| Mono signed image |
'Mono16' | uint16 |
| Mono image |
'Mono16 Signed' | int16 |
| Mono signed image |
'RGB24' | uint8 |
| RGB24 image |
'RGB24 Signed' | int8 |
| RGB24 signed image |
'RGB48' | uint16 |
| RGB48 image |
'RGB48 Signed' | int16 |
| RGB48 signed image |
Usage notes and limitations:
Code generation for read
does not support
the optional positional argument native
.
Generate Code That Uses Row-Major Layout — Generate Code That Uses Row-Major Array Layout (MATLAB Coder).
You have a modified version of this example. Do you want to open this example with your edits?