mcpField
C
color-management

color-management

github.com/magnus919创意与媒体15361 次安装今天更新
代码仓库

关于 color-management

面向使用开源工作流的图像编辑者和色彩专业人士,提供 ICC 配置文件管理技能。结合原理参考与脚本,用于检查配置文件、转换色彩空间、分析色域及图像。

主要功能

  1. 01检查 ICC 配置文件元数据
  2. 02图像色彩空间转换
  3. 03色域检查与软打样
  4. 04计算图像色差
  5. 05显示器校准指南
  6. 06生成综合色彩分析报告

适用场景

  1. 01检查图像内嵌的 ICC 配置文件
  2. 02在工作色彩空间间转换图像
  3. 03转换前检查超出色域的颜色
  4. 04比较不同图像的色差

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/magnus919/agent-skills --skill color-management

安装后在 Claude Code 中输入/color-management确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
assets/templates/
icc-profile-report.md
lch-layer-stack.md
evals/
evals.json
references/
color-management-overview.md
dcraw-pipeline.md
glossary.md
hex-quantization-and-profile-creation.md
icc-profile-operations.md
monitor-calibration-workflow.md
soft-proofing-workflow.md
tool-reference.md
working-spaces-reference.md
scripts/
color-difference.py
color-report.py
color-space-convert.py
gamut-check.py
icc-profile-inspect.py
srgb-compare.py
well-behaved-check.py

详细介绍

色彩管理技能

面向开源工作流的 ICC 配置文件色彩管理专家级指南。涵盖色彩科学基础、工作空间选择、ICC 配置文件操作、色域分析和实用工具用法。

快速参考

如果你需要……加载此参考资料运行此脚本
了解 CIELAB、xyY 或色彩科学基础知识references/color-management-overview.md—
检查 ICC 配置文件的元数据/原色/TRC—scripts/icc-profile-inspect.py
检查配置文件是否表现良好(中性灰轴)references/working-spaces-reference.mdscripts/well-behaved-check.py
在色彩空间之间转换图像references/icc-profile-operations.mdscripts/color-space-convert.py
检查图像中哪些颜色超出色彩空间的色域references/soft-proofing-workflow.mdscripts/gamut-check.py
比较 sRGB 配置文件变体references/working-spaces-reference.mdscripts/srgb-compare.py
计算两张图像之间的色差(dE)—scripts/color-difference.py
转换前软打样图像references/soft-proofing-workflow.mdscripts/gamut-check.py
校准并创建显示器配置文件references/monitor-calibration-workflow.md—
使用 dcraw 处理原始文件references/dcraw-pipeline.md—
了解十六进制量化并创建表现良好的配置文件references/hex-quantization-and-profile-creation.mdscripts/well-behaved-check.py
生成全面的色彩分析报告—scripts/color-report.py
设置 GIMP LCH 图层堆栈,以便分别编辑色调和颜色assets/templates/lch-layer-stack.md—
从图像中提取嵌入的 ICC 配置文件references/icc-profile-operations.mdscripts/icc-profile-inspect.py
了解转换意图(相对/绝对/感知)references/color-management-overview.md—
设置 Firefox,以便浏览时进行色彩管理references/tool-reference.md—

必需工具

此技能中的脚本会检查以下工具,并报告缺少的工具。按需安装:

  • ImageMagick(convert、identify、compare、composite)——主要图像处理工具
  • Exiftool——元数据和 ICC 配置文件提取
  • ArgyllCMS(xicclu、iccgamut、colprof、cctiff)——专业色彩管理
  • LittleCMS(tificc、transicc)——ICC 配置文件转换
# macOS
brew install imagemagick exiftool argyllcms littlecms

# Debian/Ubuntu
sudo apt install imagemagick libimage-exiftool-perl argyll littlecms2

# Fedora
sudo dnf install ImageMagick perl-Image-Exiftool ArgyllCMS littlecms2

Python 脚本

所有脚本都位于 scripts/。它们需要 Python 3.8+,以及以下可选依赖项:

pip install numpy colour-science Pillow  # optional but recommended

每个脚本都支持 --help 标志:

python3 scripts/icc-profile-inspect.py --help
python3 scripts/well-behaved-check.py --help

注意事项

sRGB 配置文件变体

并不存在唯一的“sRGB”ICC 配置文件。不同供应商生成的配置文件在 D50 适配、十六进制量化和 TRC 编码方面各不相同。ArgyllCMS 的 sRGB.icm 和 colord 的 Shared sRGB.icm 表现良好;Adobe/color.org/Windows 2000 的变体则表现不佳(在高位深下会产生虚假的洋红色偏色)。请参阅 references/working-spaces-reference.md 和 scripts/srgb-compare.py。

矩阵配置文件无法使用感知意图

sRGB、AdobeRGB、ProPhotoRGB 以及所有其他矩阵工作空间配置文件都不支持感知或饱和度意图。为矩阵目标配置文件选择感知意图时,实际得到的是相对比色(会裁切超出色域的颜色)。“感知意图会保留所有颜色”这一说法仅适用于转换到 LUT 配置文件时(打印机配置文件、某些显示器配置文件)。

sRGB 的感知意图并不真实存在

人们常说“转换为 sRGB 时,感知意图可以保留颜色”,这其实是错误的。sRGB 是矩阵配置文件,没有感知意图表。实际发生的是相对比色意图,它会裁切颜色。要在浮点精度下保留超出色域的颜色,唯一方法是使用 LCMS2 的无界模式。

显示参照与场景参照
  • 显示参照:RGB 值限制在 0.0-1.0 之间。白色(1,1,1)= 显示器最大亮度。动态范围约为 9 档。运算会进行截断。
  • 场景参照:RGB 值没有上限。白色没有特殊意义。动态范围可达 20 档以上(OpenEXR)。需要使用线性伽马。运算不会进行截断。 务必确认你的编辑流程使用的是哪种模型。
无界编辑有其局限

LCMS2 无界模式允许 RGB 值小于 0 或大于 1.0,以避免转换时发生裁切。这对存储和传输很有用,但许多编辑操作(Multiply、Divide、Screen、Levels 伽马滑块、Curves、色彩校正)作用于超出色域的颜色时会产生无意义的结果。如果你不想处理超出色域的值,请使用整数精度。

区分亮度与明度并非咬文嚼字
  • 亮度(Luminance):根据线性化 RGB 计算(符合辐射度学)。使用 sRGB 专用系数(R0.213 + G0.715 + B*0.072)。
  • 明度(Luma):根据伽马编码的 RGB 计算(感知均匀)。使用不同的系数(GIMP 2.9+ 使用 R0.222 + G0.717 + B*0.061,经 Bradford 调整至 D50)。 GIMP 2.8 使用了错误的系数。GIMP 2.9+ 修正了这些系数。进行具有物理意义的黑白转换时,务必使用亮度(Luminance)。
相机配置文件需要负三刺激值

每种数码相机传感器的输入矩阵配置文件都需要负 XYZ 三刺激值(对 233 款 dcraw 相机的分析显示:100% 的相机有负绿色 Z 值,93% 的相机有负蓝色 Y 值)。ICC V2 禁止使用这些值;V4 则允许通过 32 位浮点数使用。如果你的工作流程会截断负值,就会丢失蓝色和绿色通道的细节。

8 位、16 位与浮点数
  • 8 位:仅使用 sRGB 或 AdobeRGB(色域较小、TRC 感知均匀)。切勿使用线性伽马(会导致暗部色调断层)。
  • 16 位整数:可以使用 ProPhotoRGB。线性伽马适合用于符合辐射度学的编辑。
  • 32 位浮点数:可使用任意工作空间和任意 TRC。支持无界转换。场景参照 HDR 必须使用。
LCH 与 HSV 不是升级关系,而是替代关系

HSV 是 20 世纪 60 年代为运算缓慢的 CPU 设计的“快速数学”权宜方案。它无法将颜色与明暗分离。LCH(明度、彩度、色相)源自 CIELAB,可真正分别编辑颜色和明暗。GIMP 的 LCH 混合模式是开源软件中的首个正确实现。切勿在严肃编辑中使用 HSV 混合模式。

具体故障:Levels 伽马滑块 + 无界 sRGB = 灾难

如果将一张包含高饱和度红色的 ProPhotoRGB 图像转换为 32 位浮点无界 sRGB,再应用 Levels 伽马滑块调整(例如 gamma=3.0),红色会变成洋红色,图像中的镀铬物体则会变成青色。这是因为伽马滑块与色度有关——它会根据工作空间以不同方式乘算各通道。解决方法:在编辑图像时使用的同一工作空间中进行伽马调整,或使用与色度无关的操作,例如 Value 通道 Levels。

具体故障:在错误的工作空间中进行色彩校正

如果图像在 ProPhotoRGB 色彩空间中出现了绿色偏色,而你在无界 sRGB 中使用白平衡吸管进行校正,校正结果会是:草地呈青色、肤色呈橙色、天空饱和度过高,远处的红色卡车也过于饱和。即使白点本身变成了中性色,其他所有颜色仍然是错误的。色彩校正必须在产生偏色的同一色彩空间中进行。转换到其他空间再校正会产生不可预测的结果。

具体故障:使用通道进行单色混合时遇到色域外颜色

将一辆黄色卡车从相机输入配置文件转换为 sRGB,会导致黄色车身大部分区域的蓝色通道值为负数。如果随后尝试使用 Channel Mixer(Mono Mixer),通过混合蓝色通道来进行黑白转换,这些负的蓝色通道值会产生毫无意义的结果——你无法对超出色域的颜色模拟正色胶片或任何其他基于通道的效果。 必须在转换到较小色域之前进行基于通道的编辑,或者使用足以容纳所有图像颜色的工作空间。

参考资料

文件何时加载
references/color-management-overview.md需要了解 CIELAB、xyY 和色彩科学基础知识
references/icc-profile-operations.md需要转换、指定、提取或创建 ICC 配置文件
references/tool-reference.md需要使用 ImageMagick、ArgyllCMS、Exiftool、LCMS 的 CLI 命令
references/working-spaces-reference.md需要工作空间数据(原色、白点、伽马值)
references/glossary.md遇到不熟悉的术语
references/soft-proofing-workflow.md需要在转换前进行软打样
references/monitor-calibration-workflow.md需要校准或配置显示器
references/dcraw-pipeline.md正在处理 raw 文件,需要色彩管理工作流
references/hex-quantization-and-profile-creation.md需要创建表现良好的 ICC 配置文件

资源

文件描述
assets/templates/icc-profile-report.md用于生成人类可读 ICC 配置文件分析报告的模板
assets/templates/lch-layer-stack.md用于分别编辑色调和颜色的 GIMP LCH 图层组模板

评论

支持 Markdown