主要内容

RGB2IND.

将RGB图像转换为索引图像

描述

例子

[XCMAP.] = RGB2IND(RGB.问:将RGB图像转换为索引图像X与相关的Colormap.CMAP.使用最小方差量化问:量化的颜色和抖动。

[XCMAP.] = RGB2IND(RGB.使用具有容差的均匀量化将RGB图像转换为索引图像和抖动。

X= RGB2IND(RGB.镜片使用具有指定Colormap的逆Colormap算法将RGB图像转换为索引图像镜片和抖动。

___= RGB2IND(___抖动启用或禁用抖动。

例子

全部收缩

读取并显示TrueColoruint8.JPEG图像的星云。

rgb = imread('ngc6543a.jpg');图ImageC(RGB)轴图像缩放(4)

图包含轴。轴包含类型图像的对象。

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

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

图包含轴。轴包含类型图像的对象。

输入参数

全部收缩

RGB图像,指定为一个m-经过-N.-By-3阵列。

数据类型:单身的|双倍的|uint8.|uint16

用于最小方差量化的量化颜色的数量,指定为小于或等于65,536的正整数。返回的Colormap.CMAP.问:或更少的颜色。

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

输入Colormap,指定为aC-By-3矩阵范围内的值[0,1]。每一排镜片是一个三元素RGB三元组,指定ColorMap的单个颜色的红色,绿色和蓝色组件。Colormap最多可观65,536种颜色。

数据类型:双倍的

执行抖动,指定为'抖动'或者'点亮'。抖动以牺牲空间分辨率为代价增加了颜色分辨率。有关更多信息,请参阅抖动

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

输出参数

全部收缩

索引图像,作为一个返回m-经过-N.非负整数的矩阵。如果长度地图小于或等于256,然后输出图像是类uint8.。否则,输出图像是类uint16。价值0.在输出阵列中X对应于Colormap中的第一种颜色。

笔记

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

数据类型:uint8.|uint16

Colormap,作为一个返回C-By-3矩阵范围内的值[0,1]。每一排CMAP.是一个三元素RGB三元组,指定ColorMap的单个颜色的红色,绿色和蓝色组件。Colormap最多可观65,536种颜色。

数据类型:双倍的

算法

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

    T =(楼层(1 / tol)+1)^ 3

    每个立方体代表输出图像中的单个颜色。所以,T.是Colormap的最大长度。RGB2IND.删除任何未出现在输入图像中的颜色,因此实际的Colormap可以小于T.

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

  • 逆colormap - 如果指定输入Colormap镜片, 然后RGB2IND.使用ColorMap Mapping。逆ColorMap算法将指定的Colormap量化为每个颜色分量的32个不同的电平。然后,对于输入图像中的每个像素,找到量化的Colormap中的最接近的颜色。

参考

[1]斯宾塞W. Thomas,“有效逆色地图计算”,图形宝石II,(ed。詹姆斯arvo),学术出版社:波士顿。1991.(包括源代码)

也可以看看

|||

主题

在R2006A之前介绍