MATLAB 帮助中心
消除颜色图中的重复颜色;将灰度或真彩色图像转换为索引图像
[Y,newmap] = cmunique(X,map)
[Y,newmap] = cmunique(RGB)
[Y,newmap] = cmunique(I)
[Y,newmap] = cmunique(X,map) 从颜色图 map 中删除重复的行以生成新颜色图 newmap。该函数还会调整强度图像 X 中的索引以保持索引与颜色图之间的对应,并在 Y 中返回结果。图像 Y 和关联的颜色图 newmap 生成与 X 和 map 相同但包含尽可能小的颜色图的图像。
Y
newmap
X
map
示例
[Y,newmap] = cmunique(RGB) 将真彩色图像 RGB 转换为索引图像 Y 及其关联的颜色图 newmap。返回的颜色图是图像的可能的最小颜色图,包含 RGB 中每种唯一颜色对应的一项。
RGB
注意
newmap 可能非常大,因为项数可能与 RGB 中的像素数一样多。
[Y,newmap] = cmunique(I) 将灰度图像 I 转换为索引图像 Y 及其关联的颜色图 newmap。返回的颜色图是图像的可能的最小颜色图,包含 I 中每种唯一强度级别对应的一项。
I
全部折叠
使用 magic 函数将 X 定义为一个 4×4 的数组,该数组使用范围 1 至 16 之间的每个值。
magic
X = magic(4);
使用 gray 函数创建一个包含八项的颜色图。然后,串联这两个包含八项的颜色图,以创建一个包含 16 项的颜色图 map。在 map 中,第 9 至第 16 项是第 1 至第 8 项的重复项。
gray
map = [gray(8); gray(8)]; size(map)
ans = 1×2 16 3
使用 cmunique 消除颜色图中的重复项。
cmunique
[Y, newmap] = cmunique(X, map); size(newmap)
ans = 1×2 8 3
cmunique 调整原始图像 X 中的值,以便 Y 和 newmap 生成与 X 和 map 相同的图像。
figure image(X) colormap(map) title('X and map')
figure image(Y) colormap(newmap) title('Y and newmap')
具有重复颜色的索引图像,指定为 m×n 整数矩阵。
数据类型: double | uint8 | uint16
double
uint8
uint16
与索引图像 X 相关联的具有重复颜色的颜色图,指定为由范围 [0, 1] 内的值组成的 c1×3 矩阵。map 的每行都是一个三元素 RGB,指定颜色图的单种颜色的红、绿和蓝分量。
数据类型: double
RGB 图像,指定为由非负数组成的 m×n×3 数组。
灰度图像,指定为 m×n 数值矩阵。
具有唯一颜色的索引图像,以 m×n 整数矩阵形式返回。如果 newmap 的长度小于或等于 256,则输出图像可以属于 uint8 类。否则,输出图像属于 double 类。
数据类型: double | uint8
与输出索引图像 Y 相关联的具有唯一颜色的颜色图,返回为由范围 [0, 1] 内的值组成的 c2×3 矩阵。newmap 的每行都是一个三元素 RGB,指定颜色图的单种颜色的红、绿和蓝分量。
在 R2006a 之前推出
rgb2ind
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处