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.

Risposte (2)

KSSV
KSSV il 23 Mag 2018
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 Commenti

Jason
Jason il 23 Mag 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 il 23 Mag 2018
If images are present, filenames are enough to show.
Jason
Jason il 23 Mag 2018
Modificato: Jason il 23 Mag 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.

Accedi per commentare.

Jason
Jason il 23 Mag 2018
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)

Richiesto:

il 22 Mag 2018

Risposto:

il 23 Mag 2018

Community Treasure Hunt

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

Start Hunting!

Translated by