Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to show several images in the same figue - Matlab

EDITTED:

Hii, sorry not mentioning it earlier, what I need to do is to display 6 images in the same figure at the same time. Besides, at every image (frame) I need to draw some points (my code tracks the moves of the face - the eyes, nose, lips.) I have 246 images (frames)

this is the main functions I use:

   // The points/ coordinates of the lips, eyes and nose of the image "i".
Points = createPointsStructure (landmarks , i , NumOfLandarkPerFrame);
   // Draw landmarks and splines on the frame i (and draw/show the frame)
DrawAllPointsOnFace (pointArr , Points , img , 1  , position, i);

Any ideas how can I do it?


I need to write a code that displays 6 images in the same figure (at the same time). and lets the user to choose one of the images to edit it (by clicking on it).

Any help how can I do it?

Thanks in advance.

like image 727
Howaida Khoureieh Avatar asked May 26 '12 20:05

Howaida Khoureieh


People also ask

How we can plot multiple figures in same window?

In Matplotlib, we can draw multiple graphs in a single plot in two ways. One is by using subplot() function and other by superimposition of second graph on the first i.e, all graphs will appear on the same plot.

How do I plot multiple figures in MATLAB?

To create a plot that spans multiple rows or columns, specify the span argument when you call nexttile . For example, create a 2-by-2 layout. Plot into the first two tiles. Then create a plot that spans one row and two columns.

How do I overlay one image over another in MATLAB?

Create Blended Overlay of Two ImagesCreate a copy with a rotation offset applied. A = imread('cameraman. tif'); B = imrotate(A,5,'bicubic','crop'); Create blended overlay image, scaling the intensities of A and B jointly as a single data set.


1 Answers

Here is a simple example to get you started:

function ImagesExample()
    %# read images in a cell array
    imgs = cell(6,1);
    for i=1:6
        imgs{i} = imread( sprintf('AT3_1m4_%02d.tif',i) );
    end

    %# show them in subplots
    figure(1)
    for i=1:6
        subplot(2,3,i);
        h = imshow(imgs{i}, 'InitialMag',100, 'Border','tight');
        title(num2str(i))
        set(h, 'ButtonDownFcn',{@callback,i})
    end

    %# mouse-click callback function
    function callback(o,e,idx)
        %# show selected image in a new figure
        figure(2), imshow(imgs{idx})
        title(num2str(idx))
    end
end

enter image description here

Another function to look into is the MONTAGE function from the IPT Toolbox:

%# given the above cell array `imgs`
montage( cat(4,imgs{:}) )
like image 165
Amro Avatar answered Sep 28 '22 19:09

Amro