KMeans色彩聚类完整指南
如果你手里有一张海报、一组产品图,或者一个完整的图片素材库,想知道“这些图片的主色到底是什么”、“每种颜色占多少”、“不同图片之间有没有稳定的色彩结构”,那么基于 KMeans 的色彩聚类通常是一个非常直接、也非常高效的起点。
MCDM Online 的 KMeans色彩聚类分析 工具,既可以处理单张图片,也可以处理整个文件夹的多张图片。前者适合快速提取主色和占比,后者除了逐图分析之外,还能继续做二次聚类,得到图库级别的主色分布和色彩网络关系。
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/01-overview-interface.png” width=“500” alt=“KMeans色彩聚类分析界面”> </div>
为什么要做色彩聚类
图片里的颜色往往非常多,肉眼看到的是“整体观感”,但在分析、设计和整理素材时,我们更需要一组可量化的结果。
KMeans 色彩聚类做的事情,本质上是把大量像素压缩成若干个代表性色彩,让原本难以描述的颜色结构变得可统计、可比较、可复用。
常见用途包括:
- 提取单张图片的主色调,用于配色、品牌视觉整理和界面设计
- 分析一组图片的整体色彩风格,判断图库是否统一
- 对艺术作品、海报、产品图做风格研究,比较不同样本之间的色彩差异
- 从参考图中提炼配色卡,直接拿去做设计延展
- 在图片数据清洗前,先快速了解样本的颜色结构
如果你处理的是“单张图”,你会更关心主色、比例和色卡。
如果你处理的是“一个文件夹”,你通常还会关心两件事:
- 这批图片整体最常出现的颜色是什么
- 哪些颜色经常在同一张图片里一起出现
这就是二次聚类和色彩网络图发挥价值的地方。
这套工具能做什么
这套功能不是单纯输出几个颜色值,而是把单图分析和图库分析拆成了两个层级。
单张图片分析
上传一张 jpg、jpeg 或 png 图片后,工具会对图片像素进行聚类,并输出:
- 主色及其占比
- RGB、HSV、Lab、HEX 等多种色彩表示
- 提取结果图、柱状图、饼图、色卡和色卡详情图
这类结果适合用于“快速提炼”和“直接引用”,比如写设计说明、生成配色方案,或者做图片风格摘要。
文件夹批量分析
如果上传的是一个包含多张图片的文件夹,工具会先对每张图片分别做一次色彩聚类,然后再把每张图提取出的主色放到更高一级做二次聚类。
相比单图模式,批量模式多了几个很有价值的能力:
- 统计整批图片的主色结构
- 生成拼接总图,快速观察图库整体色调
- 生成色彩网络图,查看颜色的共现关系
- 在 Excel 中按图片名分别保存主色数据,便于继续做汇总分析
如果你做的是品牌样张分析、电商商品图整理、展览作品整理、社媒视觉复盘,这部分输出会非常有用。
二次聚类流程示意
为了方便理解文件夹批量分析中的核心逻辑,下图展示了二次聚类的串行流程:先提取每张图片的主色,再拼接形成总览图,随后对这张拼接总图再次执行 KMeans,并基于主色共现关系绘制网络图。
flowchart TD
A[选择图片文件夹] --> B[逐张读取图片]
B --> C[使用 KMeans 提取每张图片的主色]
C --> D[按主色占比生成每张图片的色条]
D --> E[拼接所有图片主色形成新的总览图片]
E --> F[对拼接总图再次执行 KMeans 聚类]
F --> G[得到图库级主色类别与整体占比]
G --> H[输出二次聚类结果]
C --> I[统计主色在同一张图片中的共现频次]
I --> J[按共现关系绘制色彩网络关系图]
E --> K[输出拼接总图]
J --> L[输出色彩网络图]
实际操作流程
从使用角度看,整个流程可以概括为三步:选图、设参、看结果。
第一步:选择单张图片或整个文件夹
如果只是分析一张图,直接点击“打开图片”即可。这种模式上手最快,适合先试参数、先看效果。
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/02-open-image-dialog.png” width=“600” alt=“打开单张图片窗口”> </div>
如果要分析一批图片,需要点击“打开文件夹”。只有在文件夹模式下,后续才可以开启二次聚类,因为二次聚类依赖多张图片之间的主色集合。
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/03-open-folder-dialog.png” width=“600” alt=“打开图片文件夹窗口”> </div>
一个简单判断标准是:
- 想知道“这张图的主色是什么”,选单图
- 想知道“这批图整体偏什么颜色”,选文件夹
第二步:配置参数
参数不算多,但不同设置会明显影响结果的“稳定性”和“解释方式”。
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/04-parameter-settings.png” width=“600” alt=“参数配置界面”> </div>
1. 色彩空间
工具支持 Lab、HSV 和 RGB 三种色彩空间。
可以这样理解:
RGB:最直观,适合一般场景,方便和设计、开发直接对接HSV:更接近人对色调、饱和度、明度的理解,适合做色系区分Lab:更强调感知均匀性,适合希望聚类结果更贴近视觉差异的情况
如果你只是第一次使用,建议先从 Lab 或 RGB 开始。
如果你的重点是比较不同色相之间的差异,比如分析冷暖色、品牌主色系或作品色调风格,可以尝试 HSV。
2. 透明背景处理
如果图片带透明背景,这一步非常关键。否则透明区域可能被默认颜色干扰,影响主色识别。
当前版本提供三种处理方式:
- 忽略透明像素:更适合透明背景素材、图标、PNG 贴图
- 转换为白色:适合最终会放在白底页面、文档或商品图背景上的素材
- 转换为黑色:适合最终会放在深色背景上的素材
如果你分析的是抠图素材,通常优先考虑“忽略透明像素”。
透明 Alpha 阈值用于判断像素是否足够透明。阈值越高,被当作透明像素排除或转换的范围越大;阈值越低,只有更接近完全透明的像素才会被处理。对于常规 PNG 素材,默认值通常够用;如果边缘半透明像素较多,可以根据结果适当调整。
3. 滤波方法与窗口大小
工具支持不滤波、均值滤波和中值滤波。
- 不滤波:适合原图本身比较干净、你又不希望损失细节的情况
- 均值滤波:适合整体噪点较多的图片,但会让边缘更平滑
- 中值滤波:对离散噪声更稳,也更适合保留边界
只有选择均值滤波或中值滤波时,窗口大小才会参与计算;如果选择“不滤波”,窗口大小会被禁用。窗口越大,去噪越强,但细节损失也越明显。
一般可以按这个经验来选:
| 图片情况 | 推荐设置 |
|---|---|
| 图片本身干净、颜色块明显 | 不滤波 |
| 有轻微噪点、压缩痕迹 | 3x3 中值滤波 |
| 噪点较多、颜色分散 | 3x3 或 5x5 均值/中值滤波 |
如果你发现聚类结果里出现很多“零碎小色块”,适当滤波往往会更好。
4. 聚类数怎么定
这是最核心的一个参数。
当前版本直接输入聚类数量,也就是希望把单张图片压缩成多少个代表色。聚类数越少,结果越概括;聚类数越多,能保留更多颜色细节,但也更容易把阴影、噪点或渐变拆成多个相近颜色。
如果是论文、报告或批量项目,为了让不同样本可比,建议固定一个聚类数。截图中的默认值为 9,适合多数配色分析场景;如果只是提炼主色,可以适当降低;如果素材颜色复杂,可以适当提高。
一个常用经验范围是:
| 分析目标 | 建议聚类数 |
|---|---|
| 只提炼主色调 | 3-5 |
| 做常规配色分析 | 5-8 |
| 想保留更多细节 | 8-12 |
5. 二次聚类参数
二次聚类现在通过“启用二次聚类(仅批量)”开关控制。只有分析文件夹时,这个开关才有实际意义;单张图片没有跨图片的主色集合,不需要做二次聚类。
开启二次聚类后,需要关注两个参数:
- 二次聚类数
- 共现阈值(%)
二次聚类数决定的是“整批图片的主色最终再归并成几类”。
共现阈值影响的是色彩网络图里哪些连线会被保留。阈值越高,图会越简洁,只保留高频共现关系;阈值越低,图会更丰富,但也更容易显得杂乱。当前界面以百分比形式填写,例如 20 表示按 20% 的阈值过滤颜色共现关系。
如果你第一次做图库分析,建议先用偏保守的阈值,先看主结构,再逐步放开。
6. 绘图字体与字体大小
绘图字体和字体大小会影响柱状图、饼图、色卡详情图和网络图中的文字显示。
如果结果图里有中文,建议选择系统里稳定可用的中文字体,例如截图中的“微软雅黑”。字体大小不影响聚类计算结果,只影响导出图片的可读性。用于论文、汇报或公众号配图时,可以适当调大;如果色卡数量较多,则需要避免字号过大导致文字拥挤。
结果文件里有什么
点击“开始计算”后,系统会让你选择结果保存目录。处理结束后,通常会得到两类内容:
- 一个 Excel 文件
- 一个图片结果文件夹
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/08-processing-progress.png” width=“600” alt=“计算进度界面”> </div>
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/09-output-folder-overview.png” width=“500” alt=“结果输出目录”> </div>
Excel 文件:适合做统计和复用
Excel 里会记录每张图片以及二次聚类结果对应的主色信息,通常包含:
- RGB
- HSV
- Lab
- HEX
- 色彩占比
每个工作表通常对应一张图片,表名就是图片名。这样后续无论你是继续做汇总、写报告,还是要把颜色交给设计师或开发,都会非常方便。
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/10-excel-color-results.png” width=“600” alt=“Excel 主色结果表”> </div>
单张图片结果:适合直接看效果
单图模式下,结果文件夹一般会输出 6 张图,核心包括:
- 原图
- 提取结果
- 色彩占比柱状图
- 色彩占比饼图
- 色卡
- 色卡详情图
其中最值得关注的是这几项:
- 提取结果:直观看到主色如何覆盖整张图
- 柱状图和饼图:快速判断主色排序和占比
- 色卡详情:直接拿到 HEX、RGB、HSV、Lab 等信息
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/13-single-image-extraction-result.png” width=“420” alt=“单图提取结果”> </div>
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/14-single-image-color-bar-chart.png” width=“420” alt=“单图色彩占比柱状图”> </div>
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/16-single-image-color-card-details.png” width=“420” alt=“单图色卡详情”> </div>
二次聚类结果:适合看整体风格
文件夹模式下,除了每张图的独立结果,还会得到二次聚类结果文件夹,通常会多出:
- 拼接总图
- 色彩网络图
拼接总图把每张图片的主色按比例压缩成统一尺寸的横条,再拼接到一起。这个结果非常适合快速观察整个图库的色调是否统一、是否存在明显分组。
色彩网络图则更进一步,不只告诉你“有哪些颜色”,还告诉你“哪些颜色经常一起出现”。
在阅读色彩网络图时,可以重点看两件事:
- 节点大小:通常表示该主色整体占比更高
- 连线粗细:通常表示两种主色在同一张图片中共现得更频繁
如果你在做视觉风格研究,这张图的解释价值往往比单纯的色卡更高。
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/18-collage-overview.png” width=“600” alt=“拼接总图”> </div>
<div style=“text-align: center;”> <img src=“/blog/figures/kmeans-color-clustering/19-color-network-graph.png” width=“600” alt=“色彩网络图”> </div>
怎么理解这些结果
很多人第一次做色彩聚类时,会把输出当成“绝对正确的主色答案”。其实更合理的理解是:
它提供的是一个稳定、可复现、便于比较的颜色概括。
也就是说,色彩聚类更适合拿来做:
- 样本之间的对比
- 视觉风格的归纳
- 设计素材的整理
- 结果汇报时的量化说明
而不是去追求“和人眼感觉 100% 完全一致”。
因为结果会受到这些因素影响:
- 图片分辨率和压缩质量
- 背景面积是否过大
- 是否存在透明区域
- 是否做了滤波
- 聚类数设得过少或过多
- 选择了哪一种色彩空间
如果你觉得结果“看起来不太对”,通常不要立刻怀疑算法,先回头检查参数和图片本身。
适合哪些人使用
这类工具尤其适合下面几类用户:
- 设计师:从参考图快速提炼配色方案
- 品牌与运营团队:分析品牌视觉和传播素材的色彩一致性
- 科研与论文用户:做图像风格、视觉传播、作品比较类研究
- 电商与内容团队:整理商品图、海报图、社媒图的整体风格
- 数据分析人员:把图像颜色特征先转成可统计的数据结果
如果你的工作里经常要回答“这批图到底偏什么色”“主色是否稳定”“是否能形成一套配色语言”,那么这套工具会比人工观察高效很多。
结语
KMeans 色彩聚类的价值,不只是把图片里的颜色“算出来”,更重要的是把原本感性的视觉印象,转成一组可解释、可比较、可复用的结构化结果。
单张图片模式解决的是“提炼主色”的问题,文件夹加二次聚类解决的是“理解整批图片风格结构”的问题。两者结合起来,既能服务设计落地,也能服务研究分析。
如果你之前只把色彩聚类理解为“导出几个颜色值”,那不妨试试从“单图主色提取 + 图库级风格分析”的角度重新看它。很多时候,真正有价值的不是某一个颜色本身,而是颜色之间的比例、组合和共现关系。