2026年06月21日
色彩分析:从色卡到 ΔE00
基于 ColorChecker 24 色标准色卡,在浏览器中完成 ROI 框选、色差计算(ΔE00 / ΔC00)、白平衡评估与视觉噪声分析。
手机拍照的色彩准不准,不是凭眼睛说了算——需要标准色卡和色差公式来量化。
什么是 ColorChecker
ColorChecker(爱色丽 24 色色卡)是影像行业最通用的色彩参考工具。24 个色块包含了自然界常见的颜色分布:肤色、蓝天、绿叶、花朵、中性灰等。
拍一张包含色卡的照片,就可以用色差公式来回答一个关键问题:相机拍到的颜色,和真实的颜色差了多少?
ΔE00:工业级色差标准
色差公式经过了几十年迭代:
| 版本 | 年份 | 特点 |
|---|---|---|
| ΔE76 | 1976 | 最简单的欧几里得距离,不够均匀 |
| ΔE94 | 1994 | 加入了权重因子,改进明显 |
| ΔE00 | 2000 | 当前工业标准,考虑了亮度、饱和度、色相的权重 |
ΔE00 的值可以这样理解:
- ΔE00 < 1:人眼几乎无法分辨
- ΔE00 1~3:专业人士可察觉
- ΔE00 3~6:普通用户可察觉
- ΔE00 > 6:明显偏色
参考标准
本工具使用的参考标准为 X-Rite default: post-Nov2014 D50,参考值已对齐到 Imatest Colorcheck 输出。
参考色块(部分):
| 色块 | L* | a* | b* |
|---|---|---|---|
| 1(深肤色) | 37.31 | 13.39 | 14.58 |
| 2(浅肤色) | 64.37 | 18.05 | 17.05 |
| 3(蓝天) | 49.62 | -1.16 | -22.16 |
| 18(青色) | 50.10 | -24.97 | -27.52 |
计算流程
用户上传照片 → 手动调整 ROI 框 → 采样 24 个色块区域
→ 每块平均 RGB → sRGB → CIELAB D50
→ ΔE00 / ΔC00 逐块计算
→ 汇总输出:平均值、最大值、白平衡偏差
采样方式
ROI 区域采用 6×4 网格布局,每个色块采样其中心 65% 面积(fill factor = 0.65),做全像素均值采样(不做稀疏点采样),确保结果稳定。
色空间转换链路
sRGB → 线性 RGB → XYZ D50 → CIELAB L*a*b*
→ CIE 1976 UCS (u', v') → ΔE00 / ΔC00
所有计算在浏览器本地完成,不上传服务器。
ΔC00:只看饱和度
ΔC00 是 ΔE00 中去掉亮度分量的版本,只看颜色本身对不对,不关心明暗。对于评估手机色彩倾向(偏艳还是偏淡)非常有用。
实操案例
案例 1:对比两台手机的色准
- 在同一光源下,用手机 A 和手机 B 分别拍一张 ColorChecker 照片
- 分别上传到工具,调整 ROI 框覆盖色卡区域
- 对比两台手机的 Mean ΔE00 和 Mean ΔC00
- 如果 A 的 ΔC00 均值更高 → A 的色彩饱和度偏差更大
案例 2:检查白平衡准确性
- 查看工具的白平衡面板(色块 19-24,即 6 个中性灰块)
- 如果 a*、b* 偏离 0 较远(例如 b* > 3)→ 画面偏黄
- 如果 b* < -3 → 画面偏蓝
案例 3:评估 ISP 色彩风格
- 逐块查看 ΔC00 值
- 如果所有色块的 ΔC00 都偏向正值 → ISP 倾向于加饱和度
- 如果肤色块(1-2)ΔE00 特别大 → ISP 的肤色处理可能过于激进
噪声评估
工具还提供两种噪声指标:
- 视觉噪声(VN):基于 CIELAB 空间的标准差加权计算,模拟人眼对噪点的感知
- 空间信噪比(SNR):对每个灰色块计算 RGB 通道标准差,反映亮度区域的噪声水平