How to output matrix grayscale?

1 visualización (últimos 30 días)
Pryschepa Daryna
Pryschepa Daryna el 4 de Mzo. de 2021
Comentada: KALYAN ACHARJYA el 4 de Mzo. de 2021
I am trying to output my matrix grayscale with imshow(), but its looks like gradient.
My code is:
s=4;
A=256;
N=200;
i=1:N;
r=0.1*(i-N/2);
f=exp(-r.^2/2/s^2);
M=A*(f'*f);
imshow(M,[]);
Please, help me to find a solution to this problem
  1 comentario
KALYAN ACHARJYA
KALYAN ACHARJYA el 4 de Mzo. de 2021
"matrix grayscale with imshow(), but its looks like gradient"
Can you re-read the statement again and explain more? graysclae is scale range (shaded variation), where as gradient is derivative?

Iniciar sesión para comentar.

Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 4 de Mzo. de 2021
This one?
imagesc(M);
  3 comentarios
Bjorn Gustavsson
Bjorn Gustavsson el 4 de Mzo. de 2021
No, you don't need to use imshow to get the matrix in gray-scale. You can set the colormap to gray. You can also read the help and documentation to imshow to learn how that functions works, particularly with respect to intensity-scaling of inputs with different data-types...

Iniciar sesión para comentar.

Más respuestas (1)

Bjorn Gustavsson
Bjorn Gustavsson el 4 de Mzo. de 2021
You could use imagesc instead of imshow. Combined with colorbar you get a neat display of your matrix. Since you asked for gray-scale, you'll also have to set the colormap, so something like this:
imagesc(M)
colorbar
colormap(gray)
HTH

Categorías

Más información sobre Red en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by