What's the difference between imagesc and imshow?
Show older comments
Hi,
When I want to display an image in figure screen, both works the same way. I was wondering what's the difference between both imagesc and imshow commands?
Thank you.
Accepted Answer
More Answers (2)
pouria farhadian
on 30 Apr 2018
1 vote
imagesc reduce the time of our process.actually I dont know why????
3 Comments
Syomantak Chaudhuri
on 29 Aug 2020
Then better not answer?
Ying Yu
on 24 Dec 2020
Practically, I actually think pouria's answer is quite valuable. Thanks!
Walter Roberson
on 24 Dec 2020
imagesc() does less work than imshow(), and changes fewer graphics settings, so it is not as "hard" on the graphics system.
Mehri Mehrnia
on 22 May 2022
1 vote
I work with cardiac MRI images(grayscale). it happens repeatedly that "imagesc" shows the image while "imshow" shows a nonsence combination of black-white point!!
I don't know the reason. Any thought?
1 Comment
Image Analyst
on 22 May 2022
You probably have a floating point image with values outside the range of 0 to 1. Therefore you need to use [] in imshow(
imshow(mriImage, []);
That will take whatever the actual values are and scale them to 0-255 for display. Otherwise values below 0 show as black and above 1 show as white.
imagesc automatically scales the image -- that's what the "sc" stands for. However it applies a colormap that produces a pseudocolored RGB image that is almost always not what you want. imshow() leaves it as gray scale.
With either function you can apply the colormap you want, either with the 'Colormap' option of imshow(). Or you can call the colormap() function for either imshow() or imagesc() as a function call after you call them.
cmap = turbo(255);
colormap(cmap);
colorbar
Categories
Find more on Display Image 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!