Main Content

rgb2ind

将RGB图像转换为索引图像

描述

例子

[[X,,,,cmap] = rgb2ind(RGB,,,,将RGB图像转换为索引图像X与相关的结肠cmapusing minimum variance quantization withquantized colors and dithering.

[[X,,,,cmap] = rgb2ind(RGB,,,,托尔使用均匀量化和公差将RGB图像转换为索引图像托尔and dithering.

X= rgb2ind(RGB,,,,inmap使用带有指定colormap的逆菌落算法将RGB图像转换为索引图像inmapand dithering.

___= rgb2ind(___,,,,抖动启用或禁用抖动。

例子

全部收缩

阅读并显示trueColorUINT8星云的JPEG图像。

RGB= imread('ngc6543a.jpg'); figure imagesc(RGB) axis图片变焦(4)

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

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

[[IND,map] = rgb2ind(RGB,32); figure imagesc(IND) colormap(map) axis图片变焦(4)

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

输入参数

全部收缩

RGB图像,指定为m-by-n-by-3阵列。

数据类型:单身的|双倍的|UINT8|UINT16

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

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

输入colormap,指定为C-by-3矩阵,值[0,1]。每一行inmap是一个三元素的RGB三重态,它指定了菌落的单一颜色的红色,绿色和蓝色成分。Colormap的最多为65,536种颜色。

数据类型:双倍的

执行抖动,,,,specified as'抖动'or'nodither'。抖动以空间分辨率为代价增加了颜色分辨率。有关更多信息,请参阅抖动

如果您选择'nodither', 然后rgb2inddoes not perform dithering. Instead, the function maps each color in the original image to the closest color in the new colormap.

输出参数

全部收缩

索引图像,返回m-by-n非负整数矩阵。If the length of地图小于或等于256,然后输出图像是类UINT8。否则,输出图像是类UINT16。价值0在输出数组中X对应于菌落中的第一种颜色。

笔记

图像中的值Xare indexes into the colormap地图并且不应用于数学处理,例如过滤操作。

数据类型:UINT8|UINT16

Colormap, returned as aC-by-3矩阵,值[0,1]。每一行cmap是一个三元素的RGB三重态,它指定了菌落的单一颜色的红色,绿色和蓝色成分。Colormap的最多为65,536种颜色。

数据类型:双倍的

Algorithms

  • 统一量化 - 如果您指定托尔, 然后rgb2induses uniform quantization to convert the image. Uniform quantization cuts the RGB color cube into smaller cubes of length托尔。例如,如果指定托尔在0.1中,然后立方体的边缘是RGB立方体长度的十分之一。小块的总数是:

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

    每个立方体在输出图像中表示单个颜色。所以,t是结肠的最大长度。rgb2ind去除输入图像中未出现的任何颜色t

  • Minimum Variance Quantization — If you specify, 然后rgb2ind使用最小方差量子化。最小的瓦里安Ce quantization cuts the RGB color cube into smaller boxes (not necessarily cubes) of different sizes, depending on how the colors are distributed in the image. If the input image actually uses fewer colors than the number specified, then the output colormap is also smaller.

  • 逆菌落 - 如果指定输入colormapinmap, 然后rgb2ind使用colormap映射。逆菌落算法将指定的结肠量化为每个颜色成分的32个不同水平。然后,对于输入图像中的每个像素,找到了量化的菌落中最接近的颜色。

References

[[1] Spencer W. Thomas, "Efficient Inverse Color Map Computation",图形宝石II,(詹姆斯·阿尔沃(James Arvo)编辑),学术出版社:波士顿。1991。(包括源代码)

版本历史记录

Introduced before R2006a

也可以看看

|||

话题