Colormap Question for script requirements? - Homework

1 view (last 30 days)
I am trying to make two colormaps. Both will be using white and black colors only. It is a 50 x 50 matrix image where each element is randomly either white or black. However, the second image has the colors reversed (so all white is black and vice versa). This is my script I have.
subplot(1,2,1);
cm = [0 0 0;1 1 1];
colormap(cm);
mat = randi(2,50);
image(mat);
title('Yin');
subplot(1,2,2);
cm2 = [1 1 1;0 0 0];
colormap(cm2);
image(mat);
title('Yang');
The only problem is that I don't know where to have the second image switch colors from the first image???

Accepted Answer

Image Analyst
Image Analyst on 18 Nov 2013
Try this:
subplot(1,2,1);
matrix1 = uint8(randi(2,50) - 1);
imshow(matrix1, []);
title('Yin', 'FontSize', 50);
subplot(1,2,2);
matrix2 = 1 - matrix1;
imshow(matrix2, []);
title('Yang', 'FontSize', 50);
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
  2 Comments
Nora
Nora on 19 Nov 2013
That works! Just curious though, how would I keep the x and y axis numbers/scale?
Nora
Nora on 19 Nov 2013
What I mean is, is there a way to do the above using colormap?
I have this script but the second image isn't working.
subplot(1,2,1);
cm = [1 1 1; 0 0 0];
colormap(cm);
mat = randi(2,50);
image(mat);
title('Yin');
subplot(1,2,2);
cm2 = [1 1 1; 0 0 0];
colormap(cm2);
mat2 = mat - 1;
image(mat2);
title('Yang');

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!