Use of square brackets

2 views (last 30 days)
Lab Rat
Lab Rat on 25 Nov 2012
I know this sounds a silly question, but what is the difference between using imshow(X); and using imshow(X,[]); ? For some images, I'm unable to display them using the first command.

Answers (1)

Image Analyst
Image Analyst on 25 Nov 2012
You use [] to scale the image to the range 0-255. This will maximize the contrast. If you have a double or single image, then it expects the range to be 0-1. If your image is not in that range, then it will show as all white or all black depending on if it's more than 1 or less than 1. For example, if your image goes from -242.99 to +5782.123, then it will set -242.99 to 0, and 5782.123 to 255 and linearly scale everything in between.
  2 Comments
Lab Rat
Lab Rat on 26 Nov 2012
Thanks. Is there any MATLAB function that will autoscale a double image back to the minimum as 0 and maximum as 1 ? Or do I have to use X = X - min(X); X = X/max(X); ?
Image Analyst
Image Analyst on 26 Nov 2012
You can look into imadjust() or mat2gray().

Sign in to comment.

Categories

Find more on Images in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!