RGB2IND.

将RGB图像转换为索引图像

描述

例子

X提出] = RGB2IND(RGB将RGB图像转换为索引图像X与相关colormap提出使用最小方差量化量化的颜色和抖动。

X提出] = RGB2IND(RGB托尔使用带容错的统一量化将RGB图像转换为索引图像托尔和抖动。

X= rgb2ind (RGB镜片使用带指定颜色映射的反颜色映射算法将RGB图像转换为索引图像镜片和抖动。

___= rgb2ind (___犹豫不决启用或禁用抖动。

例子

全部折叠

读取并显示一个真实的颜色uint8一个星云的JPEG图像。

rgb = imread(“ngc6543a.jpg”);图ImageC(RGB)轴图像变焦(4)

将RGB转换为32种颜色的索引图像。

[IND,MAP] = RGB2IND(RGB,32);图ImageC(IND)ColorMap(MAP)轴图像变焦(4)

输入参数

全部折叠

RGB图像,指定为-经过-n3数组。

数据类型:||uint8|uint16

用于最小方差量化的量化颜色数,指定为小于或等于65,536的正整数。返回colormap提出或更少的颜色。

用于均匀量化的公差,指定为范围为[0,1]的一个数字。返回colormap提出(地板(1 / tol) + 1) ^ 3或更少的颜色。

输入颜色映射,指定为c值在[0,1]范围内的- × 3矩阵。每一行的镜片是一个三元素RGB三元组,它指定了颜色地图中单一颜色的红、绿、蓝组件。颜色映射最多有65,536种颜色。

数据类型:

执行抖动,指定为“犹豫”或者'点亮'.抖动以牺牲空间分辨率为代价提高了颜色分辨率。有关更多信息,请参见高频振动

如果您选择'点亮',然后RGB2IND.不执行抖动。相反,该功能将原始图像中的每个颜色映射到新Colormap中最接近的颜色。

输出参数

全部折叠

已索引的图像,返回为-经过-n非负整数的矩阵。如果长度地图小于或等于256,那么输出的图像是classuint8.否则,输出图像就是类uint16.的值0在输出数组中X对应于颜色图中的第一种颜色。

请注意

图像中的值X是ColorMap中的索引地图而不应用于数学处理,如过滤等操作。

数据类型:uint8|uint16

Colormap,作为一个返回c值在[0,1]范围内的- × 3矩阵。每一行的提出是一个三元素RGB三元组,它指定了颜色地图中单一颜色的红、绿、蓝组件。颜色映射最多有65,536种颜色。

数据类型:

算法

  • 统一量化-如果你指定托尔,然后RGB2IND.使用均匀量化转换图像。均匀量化将RGB颜色立方体切成较小的长度托尔.例如,如果您指定托尔,则立方体的边是RGB立方体长度的十分之一。小立方体的总数为:

    t =(地板(1 / tol) + 1) ^ 3

    每个立方体在输出图像中代表一种颜色。因此,t是颜色映射的最大长度。RGB2IND.删除输入图像中没有出现的任何颜色,因此实际的颜色映射可以小于t

  • 最小方差量化 - 如果指定,然后RGB2IND.使用最小方差量化。最小方差量化将RGB颜色立方体切割成不同尺寸的较小框(不一定立方体),具体取决于颜色如何分布在图像中。如果输入图像实际上使用比指定的号码更少,则输出ColorMap也更小。

  • 反转颜色映射-如果你指定了一个输入颜色映射镜片,然后RGB2IND.使用colormap映射。反向颜色映射算法将指定的颜色映射量化为每个颜色组件的32个不同级别。然后,对于输入图像中的每个像素,在量化颜色图中找到最接近的颜色。

参考

[1]斯宾塞W. Thomas,“有效逆色地图计算”,图形宝石二世[李建平主编。中国社会科学[m] .北京:科学出版社,2002 .](包括源代码)

在R2006A之前介绍