How to output matrix grayscale?
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Pryschepa Daryna
le 4 Mar 2021
Commenté : KALYAN ACHARJYA
le 4 Mar 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 commentaire
KALYAN ACHARJYA
le 4 Mar 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?
Réponse acceptée
KALYAN ACHARJYA
le 4 Mar 2021
This one?
imagesc(M);
3 commentaires
Bjorn Gustavsson
le 4 Mar 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...
KALYAN ACHARJYA
le 4 Mar 2021
@Pryschepa Daryna set the colormap as you want
Plus de réponses (1)
Bjorn Gustavsson
le 4 Mar 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
0 commentaires
Voir également
Catégories
En savoir plus sur White dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!