When you use imshow() on a double() array, it defaults to assuming that the data is in the range 0 to 1. If it is not in that range then the image can come out mostly black (of the values are lower) or mostly white (if the values are larger.) When you use [] as the second argument of imshow(), it looks at the content of the array and uses the min() of the array to map to the first colormap entry and it uses max() of the array to map to the last colormap entry.
This is expected behavior.
Best Answer