MATLAB: Montage function

montage

Hi, i am trying to create a montage of several pictures captured as matrix grid (matrix size >10).
fileFolder = fullfile(matlabroot,'toolbox','images','imdemos');
dirOutput = dir(fullfile(fileFolder,'AT3_1m4_*.tif'));
fileNames = {dirOutput.name};
montage(fileNames(1:num), 'Size', [m_h m_w]);
imsave;
however, i have had several problem with this code: 1. it seems that montage only works if files are stored into the C:\Program Files\MATLAB\R2010B\toolbox\images\imdemos and with names corresponding to MATLAB montage example (AT3_1m4_*.tif') 2. Also the number of files that i manage to opne are max 10…again as for MATLAB montage example.
How can i use the function montage with files stored in other folders and with other names? but more important…how can i work with more than 10 files??
Thanks for your help! Giulio

Best Answer

The montage function allows you to input your own path to images that you want to use.
doc montage
Example, if the pictures that you wanted to use were in C:\pictures, you would type:
fileFolder = 'C:\pictures';
dirOutput = dir(fullfile(fileFolder,'*.jpg')); % *.jpg indicates
%only jpg files. this can be changed to anything you like.
fileNames = {dirOutput.name};
montage(fileNames);
Nowhere in the documentation does it say that you are limited in the number of files that you can montage.
If you are using a matrix of images (2-d images (with color being the 3rd dimension) stacked in a 4-d matrix), it is much simpler. Assume IMGS is your 4-d matrix of images.
montage(IMGS);
Note that if you want to use your own images, do not save them in the matlab toolbox folders. Create your own folder somewhere else (a MATLAB folder is usually created by default under your Documents and Settings folder, if you'd like to use that one).