I am trying to figure out what the second (empty vector) parameter in imshow(someImage, [])
in Matlab is for.
According to doc imshow
, it\'
With the empty bracket imshow will display the range between the minimum and maximum value. For example, if your image is 16bits, the maximum value is 65536, but if your actual pixel values stop at 1000, imshow(image) will seem black (because even 1000 over 65536 is small). If you use imshow(image, []), then the display will be adjust between 0 and 1000.
It is the same as:
minValue = min(min(image));
maxValue = max(max(image));
imshow(image,[minValue maxValue]);
The documentation from help imshow
describes this syntax:
imshow(I,[LOW HIGH])
displays the grayscale imageI
, specifying the display range forI
in[LOW HIGH]
. The valueLOW
(and any value less thanLOW
) displays as black, the valueHIGH
(and any value greater thanHIGH
) displays as white. Values in between are displayed as intermediate shades of gray, using the default number of gray levels. If you use an empty matrix ([]
) for[LOW HIGH]
,imshow
uses[min(I(:)) max(I(:))]
; that is, the minimum value in I is displayed as black, and the maximum value is displayed as white.