主要内容

rgb2ind

RGB图像转换为索引图像

描述

例子

(X,提出)= rgb2ind (RGB,)把RGB图像转换为索引图像X与相关colormap提出用最小方差量子化量化的颜色和犹豫不决。

(X,提出)= rgb2ind (RGB,托尔)把RGB图像转换为索引图像使用统一的量化和宽容托尔和犹豫不决。

X= rgb2ind (RGB,inmap)把RGB图像转换为索引图像使用逆colormap算法与colormap指定inmap和犹豫不决。

___= rgb2ind (___,犹豫不决)启用或禁用犹豫不决。

例子

全部折叠

读取和显示真彩uint8星云的JPEG图像。

RGB = imread (“ngc6543a.jpg”);图显示亮度图像(RGB)轴图像变焦(4)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

转换RGB与32个颜色索引图像。

(印第安纳州,地图)= rgb2ind (RGB, 32);图显示亮度图像(印第安纳州)colormap (map)轴图像变焦(4)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

输入参数

全部折叠

RGB图像,作为指定——- - - - - -n3数组。

数据类型:||uint8|uint16

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

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

输入colormap,指定为一个c3矩阵中的值区间[0,1]。每一行的inmap三元素RGB值,指定了红色、绿色和蓝色的组件的单个colormap的颜色。colormap最多65536种颜色。

数据类型:

执行犹豫不决,指定为“犹豫”“nodither”。犹豫不决会增加空间分辨率的颜色分辨率为代价。有关更多信息,请参见高频振动

如果您选择“nodither”,然后rgb2ind不执行犹豫不决。相反,该函数将原始图像中的每个颜色映射到新colormap最接近的颜色。

输出参数

全部折叠

索引图像,作为一个返回——- - - - - -n矩阵的非负整数。如果的长度地图小于或等于256,那么输出图像类的吗uint8。否则,输出图像的类uint16。的值0在输出数组Xcolormap对应于第一个颜色。

请注意

在图像的值X索引到colormap吗地图,不应该用于数学处理,过滤等操作。

数据类型:uint8|uint16

Colormap,作为一个返回c3矩阵中的值区间[0,1]。每一行的提出三元素RGB值,指定了红色、绿色和蓝色的组件的单个colormap的颜色。colormap最多65536种颜色。

数据类型:

算法

  • 统一的量化——如果你指定托尔,然后rgb2ind使用统一的量化转换形象。均匀量化削减RGB颜色数据集分解成更小的数据集的长度托尔。例如,如果您指定一个托尔0.1,那么数据集的边缘是十分之一RGB数据集的长度。小方块的总数是:

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

    每个方块代表一个单一的颜色在输出图像。因此,t的最大长度是colormap。rgb2ind删除任何颜色不出现在输入图像,所以实际colormap可以小于t

  • 最小方差量化——如果你指定,然后rgb2ind使用最小方差量子化。最小方差量子化削减RGB颜色数据集分解成更小的箱子大小不一的(不一定是立方体),这取决于图像的颜色分布。如果输入图像实际使用的颜色比指定的数量少,然后输出colormap也较小。

  • 逆Colormap Colormap——如果你指定一个输入inmap,然后rgb2ind使用colormap映射。逆colormap算法对每种颜色组件colormap指定为32个不同的水平。然后,输入图像的每个像素,量化colormap找到最接近的颜色。

引用

[1]斯宾塞·w·托马斯,“有效的逆彩色地图计算”,图形宝石二世(詹姆斯。下午),学术出版社:1991年波士顿。。(包括源代码)

之前介绍过的R2006a