现在的位置: 首页 > 综合 > 正文

matlab四种图像类型

2013年09月15日 ⁄ 综合 ⁄ 共 1098字 ⁄ 字号 评论关闭

1、索引图像

索引图像包括一个数据矩阵X,一个颜色映像矩阵Map。其中Map是一个包含三列、若干行的数据阵列,其中每个元素的值均为[0, 1]之间的双精度浮点型数据。Map矩阵的每一行分别表示红色、绿色和蓝色的颜色值。在MATLAB中,索引图像是从像素值到颜色映射表值的“直接映射”。像素颜色由数据矩阵X作为索引指向矩阵Map进行索引,例如,值1指向矩阵Map中的第一行,值2指向第二行,以此类推。

(complement:X矩阵数据时整数,含有多少个整数,Map就有几行,因为X矩阵的数字(加入是7)就是对应Map矩阵第几行(第七行))

颜色映射表通常和索引图像存在一起,当用户在调用函数imread时,MATLAB自动将颜色映射表与图像同时加载,在MATLAB中可以选择所需要的颜色映射表,而不必局限于使用默认的颜色映射表。我们可以使用属性CDataMapping来选取其他的颜色映射表,包括用户自定义的颜色映射表。
如果图像数据矩阵是双精度的数据类型,则值1指向矩阵Map中的第一行,值2指向第二行;

如果图像矩阵是8位无符号的整数类型或16位无符号的整数类型,则由于存在一个偏移量,因而使值0指向矩阵Map中的第一行,以此类推。


example:显示一幅索引图像:
[X, map] = imread(‘canoe.tif’);
image(X);
colormap(map);

2、灰度图像

在MATLAB中,一幅灰度图像是一个数据矩阵I,I中的数据均代表了在一定范围内的图像灰度值。MATLAB把灰度图像存储为一个数据矩阵,该矩阵中的元素分别代表了图像中的像素。矩阵中的元素可以是双精度的浮点类型、8位或16位无符号的整数类型。大多数情况下,灰度图像很少和颜色映射表一起保存,但是在显示灰度图像时,MATLAB仍然在后台使用系统预定义的默认灰度颜色映射表。


example:用imagesc函数及colormap函数显示一幅灰度图像
I = imread(‘moon.tif’);
imagesc(I, [0 256]);

colormap(gray);     %原图像经灰度缩放以后显示的灰度图像。

3、RGB图像

RGB图像即真彩图像,在MATLAB中存储为n*m*3的数据矩阵。数组中的元素定义了图像中的每一个像素的红、绿、蓝颜色值。需指出的是,RGB图像不是用windows的颜色映射表,像素的颜色由保存在像素位置上的红、绿、蓝的灰度值的组合来确定。图形文件格式把RGB图像存储为24位的图像,红、绿、蓝分别占8位,这样可以有1000多万种颜色。


4、二值图像

与灰度图像相同,二值图像只需要一个数据矩阵,每个像素只取两个灰度值0和1

抱歉!评论已关闭.