% imshowimshow 是用来显示图片的,如>> I = imread('moon
tif');>> figure,imshow(I); 而有时为了数据处理,要把读取的图片信息转化为更高的精度,>> I = double(imread('moon
tif')); 为了保证精度,经过了运算的图像矩阵 I 其数据类型会从 unit8 型变成 double 型
假如直接运行 imshow(I),我们会发现显示的是一个白色的图像
这是因为 imshow()显示图像时对 double 型是认为在 0~1 围,即大于 1 时都是显示为白色,而 imshow 显示 uint8 型时是0~255 围
而经过运算的围在 0-255 之间的 double 型数据就被不正常得显示为白色图像了
有两个解决方法: 1> imshow(I/256); -----------将图像矩阵转化到 0-1 之间 2> imshow(I,[]); -----------自动调整数据的围以便于显示
从实验结果看两种方法都解决了问题,但是从显示的图像看,第二种方法显示的图像明暗黑白对比的强烈些
+++++++++++++++++++++++++++++++++++++++IMSHOW(I) displays the grayscale image I
IMSHOW(I,[LOW HIGH]) displays the grayscale image I, specifying the display range for I in [LOW HIGH]
The value LOW (and any value less than LOW) displays as black, the value HIGH (and any value greater than HIG