首页 > 代码库 > imshow() displays a white image for a grey image

imshow() displays a white image for a grey image

Matlab expects images of type double to be in the 0..1 range and images that are uint8 in the 0..255 range. You can convert the range yourself (but change values in the process), do an explicit cast (and potentially loose precision) or instruct Matlab to use the minimum and maximum value found in the image matrix as the white and black value to scale to when visualising.

See the following example with an uint8 image present in Matlab:

im = imread(‘moon.tif‘);
figure; imshow(im);
figure; imshow(double(im));
figure; imshow(double(im), []);
figure; imshow(im2double(im));

use imshow(uint8(image)); on the image before displaying it.

imshow() displays a white image for a grey image