Multidimensional arrays are a convenient way to display and process image sequences. Create a multidimensional array by concatenating the individual images of an image sequences. Each image must be the same size and have the same number of color channels. If you are storing a sequence of indexed images, each image must use the same color map.
If you have a sequence of 2D grayscale, binary, or indexed images, then concatenate the images in the third dimension to create a 3D array of size mbynbyp. Each of the p images has size mbyn.
If you have a sequence of 2D RGB images, then concatenate the images along the fourth dimension to create a 4D array of size mbynby3byp. Each of the p images has size mbynby3.
The figure depicts 2D images concatenated as planes of a 3D array.
Use the cat
function to
concatenate individual images. For example, this code concatenates a group of RGB
images along the fourth dimension.
A = cat(4,A1,A2,A3,A4,A5)
Some functions work with a particular type of multidimensional array, call a
multiframe array. In a multiframe array, images are
concatenated along the fourth dimension regardless of the number of color
channels that the images have. A multiframe array of grayscale, binary, or
indexed images has size
mbynby1byp.
If you need to convert a multiframe array of grayscale images to a 3D array for
use with other toolbox functions, then you can use the squeeze
function
to remove the singleton dimension.
There are several ways to display image sequences. To display one frame at a time,
use the Image Viewer app or imshow
. To display all the frames in
an image sequence simultaneously, use the montage
function.
To animate an image sequence or provide navigation within the sequence, use the
Video Viewer app (implay
). The Video Viewer app
provides playback controls that you can use to navigate among the frames in the
sequence.
Many toolbox functions can operate on multidimensional arrays and, consequently,
can operate on image sequences. For example, if you pass a multidimensional array to
the imtransform
function, it applies the same 2D transformation
to all 2D planes along the higher dimension.
Some toolbox functions that accept multidimensional arrays, however, do not by default interpret an mbynbyp or an mbynby3byp array as an image sequence. To use these functions with image sequences, you must use particular syntax and be aware of other limitations. The table lists these toolbox functions and provides guidelines about how to use them to process image sequences.
Function  Image Sequence Dimensions  Guideline When Used with an Image Sequence 

mbynbyp only  Must use the  
mbynbyp
or

 
mbynbyp
or

 
mbynbyp
or

 
mbynbyp only 
 
mbynbyp
or
 Image sequences must be the same size.  
mbynbyp
or
 Image sequences must be the same size. Cannot add scalar to image sequence.  
mbynbyp only 
 
mbynbyp only 
 
mbynbyp only 
 
mbynbyp
or
 Image sequences must be the same size.  
mbynbyp only 
 
mbynbyp only  Must use the  
mbynbyp only  Must use the  
mbynbyp
or
 With grayscale images,  
mbynbyp only  Must use the  
mbynbyp only  Must use the  
mbynbyp
or
 Image sequences must be the same size.  
mbynbyp
or
 Image sequences must be the same size.  
mbynbyp only 
 
mbynbyp only  Must use the  
mbynbyp only  Must use the  
mbynbyp
or
 Image sequences must be the same size.  
mbynbyp only 
 
imwarp  mbynbyp
or


mbynbyp
or

 
mbynbyp only 
 
mbynbyp only 
 
mbynbyp
or

 
mbynbyp only  Must use 