索引图像由数据矩阵、X
,和一个彩色地图矩阵,地图
.地图
是一个米类的-by-3数组双
包含范围[0,1]的浮点值。每一行的地图
指定单个颜色的红、绿和蓝组件。索引图像使用像素值到颜色映射值的“直接映射”。的对应值来确定图像中每个像素的颜色X
作为进入地图
.的值X
因此必须是整数。值1指向中的第一行地图
,值2指向第二行,以此类推。用语句显示索引的图像
图像(X);colormap(地图)
颜色图通常与索引图像存储在一起,并在使用时自动加载图像imread
函数。但是,您并不局限于使用默认的颜色映射—可以使用您选择的任何颜色映射。属性的描述CDataMapping
描述如何更改所使用的映射类型。
下一个图说明了索引图像的结构。图像中的像素由整数表示,整数是指向存储在颜色映射中的颜色值的指针(索引)。
图像矩阵和颜色映射之间的关系取决于图像矩阵的类。如果图像矩阵是类的双
,值1指向颜色映射中的第一行,值2指向第二行,以此类推。如果图像矩阵是类的uint8
或uint16
,有一个偏移——值0指向颜色映射中的第一行,值1指向第二行,以此类推。偏移也用于图形文件格式,以最大限度地支持颜色的数量。金宝app在前面的图像中,图像矩阵是类的双
.因为没有偏移,值5指向颜色映射的第5行。
灰度图像,有时也称为强度图像,是一个数据矩阵我
其值表示某一范围内的强度。一个灰度图像被表示为一个矩阵,矩阵的每个元素对应于一个图像像素。矩阵可以是类的双
,uint8
,或uint16
.虽然灰度图像很少与彩色地图一起保存,但彩色地图仍然用于显示它们。从本质上讲,灰度图像是作为索引图像处理的。
这幅图描绘了类的灰度图像双
.
若要显示灰度图像,请使用显示亮度图像
(“图像缩放”)功能,可设置强度值的范围。显示亮度图像
缩放图像数据,以使用完整的彩色地图。使用的双输入形式显示亮度图像
显示灰度图像,例如:
显示亮度图像(我[0,1]);colormap(灰色);
的第二个输入参数显示亮度图像
指定所需的强度范围。的显示亮度图像
功能显示我
通过将范围中的第一个值(通常是0)映射到第一个colormap项,并将第二个值(通常是1)映射到最后一个colormap项。中间的值是线性分布的整个剩余的颜色映射的颜色。
虽然传统上使用灰度彩色图显示灰度图像,但也可以使用其他彩色图。例如,下面的语句显示灰度图像我
蓝色和绿色的阴影:
显示亮度图像(我[0,1]);colormap(冬季);
显示矩阵一个
对于任意范围的值作为灰度图像,使用单参数形式显示亮度图像
.只有一个输入参数,显示亮度图像
将数据矩阵的最小值映射到第一个colormap项,并将最大值映射到最后一个colormap项。例如,这两行是等价的:
显示亮度图像(一);colormap(灰色)显示亮度图像([min ((:)) max ((:))));colormap(灰色)
RGB图像,有时也称为真彩图像,存储为米——- - - - - -n-by-3数据数组,为每个像素定义红色、绿色和蓝色组件。RGB图像不使用调色板。每个像素的颜色是由存储在像素所在位置的每个颜色平面上的红、绿、蓝强度的组合决定的。图形文件格式将RGB图像存储为24位图像,其中红色、绿色和蓝色组件各为8位。这将产生1600万种颜色的潜力。真实生活中的图像可以精确复制,因此被称为“真彩色图像”。
RGB MATLAB®数组可以是类双
,uint8
,或uint16
.在类的RGB数组中双
,每个颜色分量是一个介于0和1之间的值。颜色分量为(0,0,0)的像素显示为黑色,颜色分量为(1,1,1)的像素显示为白色。每个像素的三个颜色组件沿着数据数组的第三维存储。例如,像素(10,5)的红色、绿色和蓝色组件存储在RGB(10、5、1)
,RGB (10 5 2)
,RGB(10、5、3)
,分别。
显示真彩色图像RGB
,可以使用图像
功能:
图像(RGB)
下图显示了类的RGB图像双
.
要确定(2,3)像素的颜色,请查看存储在(2,3,1:3)中的RGB三元组。假设(2,3,1)包含该值0.5176
(2、3、2)包含0.1608
,(2,3,3)包含0.0627
.(2,3)像素的颜色为
0.5176 0.1608 0.0627