Montage with Raster Scan

Hello, I have a cell array of images obtained by scanning in a raster scan as illustrated below
I want to create a montaged image, and can do it successfully when xsteps & ysteps =3 (so 9 images in the image Array "imgArray")
montageImage = [imgArray{1}, imgArray{4}, imgArray{7}; imgArray{2}, imgArray{5}, imgArray{8}; imgArray{3}, imgArray{6}, imgArray{9}];
However, I want it generalised for any values of xstep and ystep.

Réponses (2)

KSSV
KSSV le 23 Mai 2018

0 votes

Read about montage in the documentation, there is an option of specifying size..with this you can show them in your desired step/ size.
montage(fileNames, 'Size', [m n]);

3 commentaires

Jason
Jason le 23 Mai 2018
Hi, thanks for your reply. I did actually consider this first, but my image files are not on disk and hence no filenames. they are in memory in a cell array.
KSSV
KSSV le 23 Mai 2018
If images are present, filenames are enough to show.
Jason
Jason le 23 Mai 2018
Modifié(e) : Jason le 23 Mai 2018
Hi, so they are saved in appdata and I get the cell array of images by:
imgArray=getappdata(0,'stack')
What do I pass as filenames, just "imgArray"
OK trying this doesn't work:
figure
montage(imgArray, 'Size', [3 3]);
The specified filename is not a string.

Connectez-vous pour commenter.

Jason
Jason le 23 Mai 2018

0 votes

OK, I couldn't get the "montage" function to work so used this instead
ny=ysteps; nx=xsteps;
D=[];
for j=1:ny
C=[];
for i=1:nx
idx=1+ (i-1)*ny;
idx=idx+(j-1)
B=imgArray2{idx};
C = horzcat(C,B);
end
D=vertcat(D,C);
end
figure
imshow(D)

Catégories

Question posée :

le 22 Mai 2018

Réponse apportée :

le 23 Mai 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by