How to display matrix as an image ?

72 views (last 30 days)
Suresh Dahal
Suresh Dahal on 22 Aug 2017
Edited: Adam on 22 Aug 2017
I have a diagonal matrix A of 4x4 and I want to display this as an image, how am I supposed to do that? I tried using imshow(A) and it does not work, please help.
  2 Comments
Baptiste Ottino
Baptiste Ottino on 22 Aug 2017
Could you be more precise please? What type is your matrix? What error does imshow return? imshow should be the right function here, so the problem is elsewhere.
Adam
Adam on 22 Aug 2017
Edited: Adam on 22 Aug 2017
figure; imagesc(A)

Sign in to comment.

Answers (1)

Reen
Reen on 22 Aug 2017
Try using:
image(A)
That will display the image like a heatmap with each entry being a square. If you want to specify the color of each square, you'll have to use a 3 dimensional array. For example if you use something like:
A(:,:,1) = [255 0 255 0; 0 255 0 255; 255 0 255 0; 0 255 0 255];
A(:,:,2) = [255 0 255 0; 0 255 0 255; 255 0 255 0; 0 255 0 255];
A(:,:,3) = [255 0 255 0; 0 255 0 255; 255 0 255 0; 0 255 0 255];
% A(1,1,:) is the rgb color vector, so white for A(1,1,:) = [255 255 255] and black for A(1,2,:) = [0 0 0]
image(A)
you'll get something that looks like a checkerboard.

Community Treasure Hunt

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

Start Hunting!