Two figures, same colormap stretch

1 view (last 30 days)
Jacob Brinkmann
Jacob Brinkmann on 30 Jan 2012
Hello,
I have two matrices of image data that I would like to plot in grayscale. The first image is before any image processing and the second is after i have preformed the image processing.
The problem I am having is that I want to use imagesc() on both of the images, but this will result in two different color scales.
I want to plot both images on different figures using the same colormap scale so that I can show the improvement in the variance across the image.
Thanks for your help,
I am a matlab novice, so step by step instructions would be amazing help to me.

Answers (1)

Image Analyst
Image Analyst on 30 Jan 2012
Call colormap(gray) after you call imagesc or imshow.
grayImage1 = imread('moon.tif');
imagesc(grayImage1);
colormap(gray);
colorbar;
figure;
grayImage2 = imread('cameraman.tif');
imagesc(grayImage2);
colormap(gray);
colorbar;
  1 Comment
Jacob Brinkmann
Jacob Brinkmann on 30 Jan 2012
This wont affect the dynamic range of the colormap, though. If I were to use your answer, wouldn't differing values between the images be plotted to the same color?
I have data that ranges maybe from [50-100] and the other data ranging from [40-150]. I want to use the same image scaling from the larger dynamic range for the image that has a smaller dynamic range.
Does that make more sense? Thanks for your response to my inquiries.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!