How to create image from a matrix?

Hello, I have an matrix whose dimension is 101x4032 double. Now how can I see the image using imshow function? Please help me.

Réponses (2)

Image Analyst
Image Analyst le 30 Août 2019
If m is your double matrix, use
imshow(m, []);
This works for any range of m - it doesn't have to be in the 0-1 range. Though if it already is in the 0-1 range, then you can omit the [] input argument to imshow().

2 commentaires

Boni_Pl
Boni_Pl le 31 Août 2019
Sir Can I make this matrix as square matrix such as 500x500?
You can use imresize():
resizedImage = imresize(originalImage, [500, 500]);
though be aware that there will be a different number of pixels in the new matrix and they won't have exactly the same values though they may be close.

Connectez-vous pour commenter.

Star Strider
Star Strider le 30 Août 2019
Try this:
A = randn(101,4032); % Create Matrix
B = uint8(A);
figure
imshow(B,[])
There are likely better ways to display your matrix, such as image or imagesc.

2 commentaires

Image Analyst
Image Analyst le 30 Août 2019
Why might those be likely to be better? I never use those instead of imshow().
Star Strider
Star Strider le 31 Août 2019
You cannot reshape your matrix into a square matrix.

Connectez-vous pour commenter.

Catégories

Question posée :

le 30 Août 2019

Commenté :

le 31 Août 2019

Community Treasure Hunt

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

Start Hunting!

Translated by