How to output matrix grayscale?
1 view (last 30 days)
Show older comments
Pryschepa Daryna
on 4 Mar 2021
Commented: KALYAN ACHARJYA
on 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 Comment
KALYAN ACHARJYA
on 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?
Accepted Answer
KALYAN ACHARJYA
on 4 Mar 2021
This one?
imagesc(M);
3 Comments
Bjorn Gustavsson
on 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
on 4 Mar 2021
@Pryschepa Daryna set the colormap as you want
More Answers (1)
Bjorn Gustavsson
on 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 Comments
See Also
Categories
Find more on Red in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!