Use of square brackets

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

0 votes

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); ?
You can look into imadjust() or mat2gray().

Sign in to comment.

Tags

Asked:

on 25 Nov 2012

Community Treasure Hunt

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

Start Hunting!