MATLAB Answers

How to display Images in the Same Figure?

3 views (last 30 days)
elham
elham on 10 Jan 2019
Commented: elham on 11 Jan 2019
I want to use the imshow function and set function (both of them) with the MATLAB subplot function to display multiple images in a single figure window. But because of the set function in the following code, it isn't possible. How to solve it?
if str2num(N1(1:end-4)) == str2num(N2(1:end-4))
subplot(1,2,1);
imshow(volume_image(:, :, i), []);
green = cat(3, zeros(size(volume_image(:, :, i))), ones(size(volume_image(:, :, i))), zeros(size(volume_image(:, :, i))));
subplot(1,2,2);
h = imshow(green);
set(h, 'AlphaData', double(Rad_Img));
end

  2 Comments

Walter Roberson
Walter Roberson on 10 Jan 2019
You are missing a ) in the set command.
elham
elham on 11 Jan 2019
@Walter Roberson: Yes, it occurred during edition, but the problem isn't because of it.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 10 Jan 2019
AlphaData must be in the range 0 to 1. I suspect your Rad_Img is uint8, range 0 to 255; if so then double() would produce 0.0 to 255.0 instead of 0 to 1. Perhaps
set(h, 'AlphaData', im2double(Rad_Img));

  6 Comments

Show 3 older comments
Walter Roberson
Walter Roberson on 11 Jan 2019
Do not use subplot() for that purpose. Use
hold on
after the first imshow(), and
hold off
after the second imshow()
elham
elham on 11 Jan 2019
@Walter Roberson: I have tried it, but I want to show Fig1 image and the final image after set(h, 'AlphaData', double(Rad_Img)) in a single figure window. Then, the subplot is needed.
elham
elham on 11 Jan 2019
@Walter Roberson: I did it with a duplicate of the same code.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by