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 AutomaticColorDistance 中支持的任意距离
    Masking All所关注的区域
    Method Automatic使用的方法
    MinColorDistance Automatic最小色差
  • 设置 MinColorDistance->d 下,如果 ColorDistance[c1,c2]<d,由颜色 c1c2 所表示的集群将合并. 覆盖较多的颜色将被指定给新的集群.
  • 设置 ColorCoverage->f 下,返回覆盖图像少于分数 f 的颜色. 用 ColorCoverage->{fmin,fmax} 可以指定覆盖分数的范围.
  • 设置 Masking->roi 下,"CoverageImage""MaskCoverage" 返回关于指定所关注区域 roi 的属性. »
  • Method 可能的设置包括:
  • "KMeans"-均值聚类算法
    "KMedoids"在中心点周围进行分区
    "MedianCut"根据像素值中位数递归式分割颜色空间
    "MinVariance"递归式分割颜色空间,使得新子区域中方差的总和最小(吴算法)
    "Octree"用所有的图像像素创建一个八叉树并合并叶子,直到剩下的是最具代表性的叶子

范例

打开所有单元关闭所有单元

基本范例  (3)

标志图像中的主色:

灰度图像的主色:

三维图像的主色:

范围  (12)

基本用法  (4)

找出图像中的主色:

计算 5 种主色:

计算每种主色的不同属性:

计算一系列图像的主色:

属性  (6)

默认情况下,主色返回为 RGB 颜色:

在 CIELAB 颜色空间中表示主色:

以十六进制表示返回主色:

找出每个主色最接近的 HTML 颜色名称:

计算每个主色覆盖的像素数目:

返回覆盖分数和覆盖遮罩:

格式  (2)

指定一个不同的输出格式:

返回属性值的关联:

选项  (8)

ColorCoverage  (1)

默认情况下,自动把阈值用于 ColorCoverage

返回所有颜色,与它们的覆盖率无关:

如果没有任何颜色覆盖所指定的最小范围,则返回空列表:

指定覆盖所接受的值的范围:

DistanceFunction  (1)

默认情况下,使用 "CIE76" 颜色距离来合并颜色集群:

使用一个不同的颜色距离:

指定一个自定义的 CIELAB 颜色间距离函数:

Masking  (2)

默认情况下,返回整个图像的主色:

这等价于设置 Masking->All

计算前景图像的主色:

设置 Masking->All 下,"Coverage""MaskCoverage" 是一样的:

给定遮罩,"MaskCoverage" 返回遮罩覆盖每个颜色集群的比例:

Method  (2)

默认情况下,DominantColors 自动选取最合适的方法产生颜色聚类:

使用 Method 选项选择指定的方法:

比较不同方法的时间和结果:

MinColorDistance  (2)

默认情况下,自动选择最小颜色距离:

设置 MinColorDistance->d 下,颜色表示比 d 更接近的集群被合并:

使用 MinColorDistance->0 以避免任何颜色合并:

为了避免颜色合并,用 MinColorDistance->0 计算所有的主色:

使用自定义函数删除相似颜色:

应用  (4)

提取国旗的颜色:

将图像分离成其主色的区域:

创建一个图像的量子化版本:

通过组织颜色合并来添加更多细节:

将不同颜色分离开:

属性和关系  (4)

主色根据其覆盖面积排序:

在计算主色时把 alpha 通道考虑在内:

将部分透明图像与背景混合,以获得与图像的视觉外观类似的结果:

ColorQuantize 表示具有一个图像已有色调的图像:

DominantColors 生成的颜色:

由 RGB 色彩空间中最近共同色代替像素:

在 CIELAB 色彩空间中进行颜色替换:

可以计算任何主色的支持属性的列表:

巧妙范例  (1)

使用 ArrayPlot 在一幅图像中显示颜色及其相对频率:

Wolfram Research (2012),DominantColors,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DominantColors.html (更新于 2019 年).

文本

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_2024_dominantcolors, author="Wolfram Research", title="{DominantColors}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/DominantColors.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_dominantcolors, organization={Wolfram Research}, title={DominantColors}, year={2019}, url={https://reference.wolfram.com/language/ref/DominantColors.html}, note=[Accessed: 17-November-2024 ]}