From the help for imtile():
Description
out = imtile(filenames) returns a tiled image containing the images specified in filenames. filenames is an n-by-1 or 1-by-n string array, character vector, or cell array of character vectors. If the files are not in the current folder or in a folder on the MATLAB® path, specify the full path name. See the imread command for more information. By default, imtile arranges the images so that they roughly form a square, but you can change that using optional parameters. The images can have different sizes and types.
- If you specify an indexed image, then imtile converts it to RGB using the colormap present in the file.
- If there is a data type mismatch between images, then imtile rescales all images to be double using the im2double function.
out = imtile(I) returns a tiled image containing all the frames of the multiframe image array I. A multiframe image array can be a sequence of binary, grayscale, or truecolor images. out = imtile(images) returns a tiled image containing the images specified in the cell array images. imtile displays empty cell array elements as a blank tile. out = imtile(imds) returns a tiled image containing the images specified in the ImageDatastore object imds. For information about image datastores, see ImageDatastore. out = imtile(X,map) treats all grayscale images in X as indexed images and applies the specified colormap map to all frames. X can be an array of grayscale images (m-by-n-by-1-by-k), a string array of file names, or a cell array of character vectors. If X represents file names, map overrides any internal colormap present in the image files. out = imtile(___,Name,Value) returns a customized tiled image, depending on the values of the optional parameter name-value pairs. You can abbreviate parameter names, and case does not matter.