为了节省存储空间,一般imread把灰度图像读入时的数据类型是uint8
-
uint8数据类型的灰度值范围是0-255;
-
double数据类型的灰度值范围是0-1;
一般情况下,将uint8的灰度图像转化为double的灰度图像,有两种数据转换方式。
第一种:在对uint8数据类型处理(/255)后直接使用double转化数据类型,这里只是将/255取整后的值变为double类型,不改变数据。
I = imread('地图舟山灰度图二值化.png');
I = rgb2gray(I); % 灰度化
K = double(floor(I/255)); % 这里使用floor向下取整,将原图在0-255灰度之间的像素都转化为0
imshow(K);
第二种:im2double会将uint8灰度值0-255的像素点映射到0-1之间,也就是说存在非0非1的数据点
K = im2double(I)
我在使用第二种方法是,最后调出的图像依然是一片黑。存在一些问题没有搞清楚,还望向各位多多学习
版权声明:本文为qq_45053161原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。