DominantColors[image]
返回 image 中的主色.
DominantColors[image,n]
返回 image 中至多 n 种主色.
DominantColors[image,n,prop]
对属于相同主色的区域,返回指定属性 prop.
DominantColors[image,n,prop,format]
返回指定格式 format 的输出.
DominantColors[{image1,image2,…},…]
返回每一个 imagei返回每一个
DominantColors
DominantColors[image]
返回 image 中的主色.
DominantColors[image,n]
返回 image 中至多 n 种主色.
DominantColors[image,n,prop]
对属于相同主色的区域,返回指定属性 prop.
DominantColors[image,n,prop,format]
返回指定格式 format 的输出.
DominantColors[{image1,image2,…},…]
返回每一个 imagei返回每一个
更多信息和选项
- DominantColors[image] 返回表示图像中出现的颜色集群的颜色列表. 颜色由 GrayLevel 或者 RGBColor 表示.
- DominantColors 适用于任意二维和三维图像.
- 返回的颜色基元它们表示的集群大小进行排序.
- DominantColors 使用 LABColor 来寻找颜色集群.
- 可以用下列属性来返回在不同形式中的主色:
-
"Color" 每个集群的,以 RGB 或灰度表示的代表色(默认) "HexRGBColor" 十六进制的 RGB 颜色 "LABColor" CIELAB 颜色 "NearestHTMLColor" 最接近的 HTML 颜色名称 - 其它支持的属性包括:
-
"Count" 每种颜色集群覆盖的像素总数 "Coverage" 每种颜色集群覆盖的图像分数 "CoverageImage" 表示每种颜色集群覆盖区域的图像 "MaskCoverage" 每种颜色集群覆盖的指定掩模的分数 - DominantColors[image,n,{"prop1","prop2",…}] 计算多个属性.
- DominantColors[image,n,"Properties"] 返回所支持属性的列表.
- format 参数指定了输出格式. 可能的设定有:
-
Automatic 自动决定输出 "ColorAssociation" coli{…,valj,…} 组成的关联 "ColorPropertyAssociation" coli<|…,propjvalj,…|> 组成的关联 "Dataset" 颜色集群属性的 Dataset "List" 嵌套列表 "PropertyAssociation" propj{…,vali,…} 组成的关联 - DominantColors 接受以下选项:
-
ColorCoverage Automatic 所覆盖的图像分数 DistanceFunction Automatic ColorDistance 中支持的任意距离 Masking All 所关注的区域 Method Automatic 使用的方法 MinColorDistance Automatic 最小色差 - 设置 MinColorDistance->d 下,如果 ColorDistance[c1,c2]<d,由颜色 c1 和 c2 所表示的集群将合并. 覆盖较多的颜色将被指定给新的集群.
- 设置 ColorCoverage->f 下,返回覆盖图像少于分数 f 的颜色. 用 ColorCoverage->{fmin,fmax} 可以指定覆盖分数的范围.
- 设置 Masking->roi 下,"CoverageImage" 和 "MaskCoverage" 返回关于指定所关注区域 roi 的属性. »
- Method 可能的设置包括:
-
"KMeans"
-均值聚类算法"KMedoids" 在中心点周围进行分区 "MedianCut" 根据像素值中位数递归式分割颜色空间 "MinVariance" 递归式分割颜色空间,使得新子区域中方差的总和最小(吴算法) "Octree" 用所有的图像像素创建一个八叉树并合并叶子,直到剩下的是最具代表性的叶子
范例
打开所有单元 关闭所有单元基本范例 (3)
范围 (12)
基本用法 (4)
属性 (6)
DominantColors[[image], 4, "Color"]//InputFormDominantColors[[image], 4, "LABColor"]//InputFormDominantColors[[image], 4, "HexRGBColor"]DominantColors[[image], 4, "NearestHTMLColor"]DominantColors[[image], 4, {"Color", "Count"}]DominantColors[[image], 4, {"Color", "Coverage", "CoverageImage"}]选项 (8)
ColorCoverage (1)
默认情况下,自动把阈值用于 ColorCoverage:
i = [image];DominantColors[i]DominantColors[i, ColorCoverage -> 0]DominantColors[i, ColorCoverage -> .5]DominantColors[i, ColorCoverage -> {0, .05}]DistanceFunction (1)
i = [image];DominantColors[i, MinColorDistance -> .4]DominantColors[i, MinColorDistance -> .4, DistanceFunction -> "CIE2000"]DominantColors[i, MinColorDistance -> .4, DistanceFunction -> (Norm[#1 - #2, 1]&)]Masking (2)
i = [image];DominantColors[i]DominantColors[i, Masking -> All]mask = ColorNegate@RegionBinarize[i, {{1, 1}}, .1]DominantColors[i, Masking -> mask]设置 Masking->All 下,"Coverage" 和 "MaskCoverage" 是一样的:
i = [image];DominantColors[i, 3, {"Color", "Coverage", "MaskCoverage"}, Masking -> All]给定遮罩,"MaskCoverage" 返回遮罩覆盖每个颜色集群的比例:
mask = [image];DominantColors[i, 3, {"Color", "Coverage", "MaskCoverage"}, Masking -> mask]Method (2)
默认情况下,DominantColors 自动选取最合适的方法产生颜色聚类:
i = [image];DominantColors[i]使用 Method 选项选择指定的方法:
DominantColors[i, Method -> "Octree"]Table[Prepend[AbsoluteTiming@DominantColors[[image], Method -> m], m], {m, {"KMeans", "KMedoids", "MedianCut", "MinVariance", "Octree"}}]//TextGridMinColorDistance (2)
image = [image];
DominantColors[image, 15]设置 MinColorDistance->d 下,颜色表示比 d 更接近的集群被合并:
DominantColors[image, 15, MinColorDistance -> .5]使用 MinColorDistance->0 以避免任何颜色合并:
DominantColors[image, 15, MinColorDistance -> 0]为了避免颜色合并,用 MinColorDistance->0 计算所有的主色:
image = [image];colors = DominantColors[image, 15, {"Color", "Coverage"}, MinColorDistance -> 0]DeleteDuplicates[colors, ColorDistance[#1[[1]], #2[[1]]] < .5&]应用 (4)
DominantColors[[image]]i = [image];res = DominantColors[i, Automatic, {"CoverageImage", "Color"}]ImageMultiply@@@resimg = [image];ImageAdd@@ImageMultiply@@@DominantColors[img, Automatic, {"CoverageImage", "Color"}, ColorCoverage -> 0]ImageAdd@@ImageMultiply@@@DominantColors[img, Automatic, {"CoverageImage", "Color"}, ColorCoverage -> 0, MinColorDistance -> 0]DominantColors[[image], 5, {"Color", "Coverage", "CoverageImage"}, "Dataset", MinColorDistance -> .5]属性和关系 (4)
DominantColors[[image]]DominantColors[[image]]将部分透明图像与背景混合,以获得与图像的视觉外观类似的结果:
DominantColors[RemoveAlphaChannel[[image], White]]ColorQuantize 表示具有一个图像已有色调的图像:
i = [image];
ColorQuantize[i, 3, Dithering -> False]由 DominantColors 生成的颜色:
col = DominantColors[i, 3]nf = Nearest[List@@@col];
ImageApply[First@nf[#, 1]&, i]nf = Nearest[List@@@DominantColors[i, 3, "LABColor"]];
ImageApply[First@nf[#, 1]&, ColorConvert[i, "LAB"]]DominantColors[[image], 8, "Properties"]巧妙范例 (1)
使用 ArrayPlot 在一幅图像中显示颜色及其相对频率:
DominantColors[[image], Automatic, {"Color", "Count"}]ArrayPlot[Transpose[%]]相关链接
文本
Wolfram Research (2012),DominantColors,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DominantColors.html (更新于 2019 年).
CMS
Wolfram 语言. 2012. "DominantColors." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/DominantColors.html.
APA
Wolfram 语言. (2012). DominantColors. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DominantColors.html 年
BibTeX
@misc{reference.wolfram_2026_dominantcolors, author="Wolfram Research", title="{DominantColors}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/DominantColors.html}", note=[Accessed: 04-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_dominantcolors, organization={Wolfram Research}, title={DominantColors}, year={2019}, url={https://reference.wolfram.com/language/ref/DominantColors.html}, note=[Accessed: 04-September-2026]}