MATLAB: Adding picture to imagesc

add imageimagesc

Hello guys,
what is the best way to (or is it possible?) add a picture to imagesc? I have colour map in the top and the picture of the body and I would like add body picture over the colourmap as on bellow. Any ideas?
Best regards
pridanitela.png

Best Answer

Try this to display one image on top of another, and adapt as needed.
% Displays an image and then displays another image over it with a small size.
handleToFigure = figure
% First display the main, large image.
rgbImage = imread('peppers.png'); % Read from disk.

imshow(rgbImage); % Display in axes.

axis('on', 'image');
ax1 = gca; % Store handle to axes 1.
hold on;
% Create smaller axes in top right, and display image in it.
% Store handle to axes 2 in ax2.
ax2 = axes('Position',[.5 .4 .3 .3])
grayImage = imread('cameraman.tif'); % Read from disk.
imshow(grayImage); % Display in axes.
axis('on', 'image');
You could also average the two images to create a blended effect, like this (an example from my code where I overlay a heatmap over an image):
ratio = handles.sldOpacity.Value; % Get the opacity ratio from the slider, for example 0.01
combinedImage = uint8(ratio * double(rgbImage) + (1-ratio) * double(heatMapImage));
imshow(combinedImage)