mcpField
C
color-theory-palette-harmony-expert

color-theory-palette-harmony-expert

github.com/curiositech创意与媒体257430 次安装2 天前更新
代码仓库

关于 color-theory-palette-harmony-expert

color-theory-palette-harmony-expert 是用于计算摄影构图的色彩理论技能,面向拼贴制作和照片集合编排。它结合感知色彩空间与最优传输方法,支持评估色彩兼容性及控制多样性。

主要功能

  1. 01使用 LAB、LCH 和 OKLCH 分析颜色
  2. 02通过 Sinkhorn EMD 比较调色板
  3. 03分类暖色、冷色与中性色
  4. 04按色相或色温编排照片
  5. 05使用 MMR、DPP 等方法控制多样性
  6. 06计算全局色彩协调与校色

适用场景

  1. 01为拼贴挑选色彩协调的照片
  2. 02创建彩虹渐变或暖冷交替序列
  3. 03评估照片集合的调色板兼容性
  4. 04减少照片编排中的色彩单调

MCP 相关

文档列出 Firecrawl 用于研究色彩理论与最优传输论文,Stability AI 用于生成参考调色板并进行视觉测试。

安装

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

$npx skills add https://github.com/curiositech/some_claude_skills --skill color-theory-palette-harmony-expert

安装后在 Claude Code 中输入/color-theory-palette-harmony-expert确认已加载。

包含的文件

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

CHANGELOG.md
.claude-plugin/
plugin.json
references/
arrangement-patterns.md
temperature-classification.md
perceptual-color-spaces.md
diversity-algorithms.md
implementation-guide.md
optimal-transport.md

详细介绍

色彩理论与调色板协调专家

你是一位世界级的感知色彩科学专家,专攻计算摄影构图。你将经典色彩理论与现代最优传输方法相结合,用于创建拼贴。

何时使用此技能

✅ 适用于:

  • 基于调色板为拼贴选择照片
  • 暖色/冷色交替算法
  • 按色相排序的照片序列(彩虹渐变)
  • 使用推土机距离评估调色板兼容性
  • 使用多样性惩罚避免色彩单调
  • 照片集合的整体色彩协调
  • 中性色搭配点缀色的模式
  • 感知色彩空间转换(RGB → LAB → LCH)

❌ 不适用于:

  • 基本 RGB 色彩处理 → 使用标准图像处理
  • 单张照片调色 → 使用 native-app-designer
  • UI 配色方案生成 → 使用 vaporwave-glassomorphic-ui-designer
  • 色盲模拟 → 使用专门的无障碍技能

MCP 集成

MCP用途
Firecrawl研究色彩理论论文和最优传输算法
Stability AI生成参考调色板,直观测试色彩协调效果

快速参考

感知色彩空间

为什么使用 LAB/LCH,而不是 RGB?

  • RGB/HSV 依赖设备,并非感知均匀
  • LAB 欧几里得距离 ≈ 感知到的色差
  • LCH 将色相(色轮位置)与彩度(饱和度)分离
# CIELAB (LAB) Space
L: Lightness (0-100)
a: Green (-128) to Red (+128)
b: Blue (-128) to Yellow (+128)

# CIE LCH (Cylindrical)
L: Lightness (same)
C: Chroma = √(a² + b²)  # Colorfulness
H: Hue = atan2(b, a)    # Angle 0-360°

CIEDE2000 是感知距离的黄金标准:

  • 与人类感知相关(r > 0.95)
  • 使用 colormath 或 skimage.color.deltaE_ciede2000

→ 完整详情:/references/perceptual-color-spaces.md


OKLCH:现代标准(2026 年及以后)

OKLCH 已取代 hex/HSL,成为专业色彩标准。

OKLCH 是一种感知均匀的色彩空间,解决了 RGB/HSL 的根本问题:

  • 相同的 L 值 = 相同的感知亮度(HSL 并非如此)
  • 用于无障碍计算时,比基于 WCAG 2.x 十六进制值的比例更好
  • 原生支持 CSS:oklch(70% 0.15 145) 可在所有现代浏览器中使用
OKLCH Values:
L: Lightness 0-1 (0 = black, 1 = white)
C: Chroma 0-0.4+ (0 = gray, higher = more saturated)
H: Hue 0-360° (red=30, yellow=90, green=145, cyan=195, blue=265, magenta=330)

必备 OKLCH 资源:

资源用途
oklch.com交互式 OKLCH 颜色选择器
Evil Martians:为什么要弃用 RGB/HSL关于采用 OKLCH 的权威文章
Harmonizer使用 OKLCH 协调调色板

OKLCH 与 LAB/LCH:

  • OKLCH 使用 Oklab(2020),而非 CIELAB(1976)
  • Oklab 的色相感知更均匀,尤其是在蓝色区域
  • 对于 CSS/网页工作,始终使用 OKLCH
  • 对于科学色彩测量,CIELAB/CIEDE2000 仍然有效

→ 完整详情:/references/perceptual-color-spaces.md


推土机距离(Wasserstein)

问题: 两张照片的色彩分布在感知上有多大差异?

Sinkhorn 算法 —— 快速的 O(NM) 熵正则化 EMD:

def sinkhorn_emd(palette1, palette2, epsilon=0.1, max_iters=100):
    # Kernel K = exp(-CostMatrix / epsilon)
    # Iterate: u = a / (K @ v), v = b / (K.T @ u)
    # EMD = sqrt(sum(gamma * Cost))

ε 的选择:

ε精度速度
0.01几乎精确50-100 次迭代
0.1良好(推荐)10-20 次迭代
1.0非常粗略<5 次迭代

多尺度切片 Wasserstein(2024):

  • 标准 Wasserstein 为 O(M²·⁵),而它为 O(M log M)
  • 更适用于空间分布差异

→ 完整详情:/references/optimal-transport.md


暖色/冷色分类

LCH 色相法:

Warm: Red (0-30°), Orange (30-60°), Yellow (60-90°), Magenta (330-360°)
Cool: Green (120-180°), Cyan (180-210°), Blue (210-270°)
Transitional: Yellow-Green (90-120°), Purple (270-330°)

LAB b 轴法(更稳健):

b > 20: Warm (yellow-biased)
b < -20: Cool (blue-biased)
-20 ≤ b ≤ 20: Neutral

→ 完整详情:/references/temperature-classification.md


排列模式
模式描述
按色相排序彩虹渐变,处理圆形均值
暖色/冷色交替营造视觉韵律,避免单调
色温波浪正弦式暖色 → 冷色 → 暖色
中性色搭配点缀色85% 柔和色 + 15% 鲜艳色点缀

调色板兼容性评分:

compatibility = (
    emd_similarity * 0.35 +
    hue_harmony * 0.25 +      # Complementary, analogous, triadic
    lightness_balance * 0.15 +
    chroma_balance * 0.10 +
    temperature_contrast * 0.15
)

→ 完整详情:/references/arrangement-patterns.md


多样性算法

问题: 如果没有约束,优化会选出所有相似的颜色。

方法 1:最大边际相关性(MMR)

Score = λ · Harmony(photo, target) - (1-λ) · max(Similarity to selected)
  • λ = 0.7:平衡(推荐)
  • λ = 1.0:纯和谐(可能会选出所有蓝色)
  • λ = 0.5:和谐与多样性各占一半

方法 2:行列式点过程(DPP)

  • 概率式:P(S) ∝ det(K_S)
  • 自动排斥相似项
  • 更适合采样多个多样化集合

方法 3:子模最大化

  • 贪心算法可达到最优值的 63%
  • 具有理论保证

→ 详情请见:/references/diversity-algorithms.md


全局调色

问题: 不同照片的白平衡/曝光各异,会让拼贴显得不协调。

仿射颜色变换:

# Find M, b where transformed = M @ LAB_color + b
M, b = compute_affine_color_transform(source_palette, target_palette)
graded = apply_affine_color_transform(image, M, b)

# Blend subtly (30% correction)
result = 0.7 * original + 0.3 * graded

→ 详情请见:/references/arrangement-patterns.md


实现摘要

Python 依赖项
pip install colormath opencv-python numpy scipy scikit-image pot hnswlib
软件包用途
colormathCIEDE2000、LAB/LCH 转换
potPython 最优传输
scikit-imagedeltaE 计算
性能目标
操作目标
调色板提取(5 种颜色)<50ms
Sinkhorn EMD(5×5,ε=0.1)<5ms
MMR 选择(1000 个候选项,k=100)<500ms
完整拼贴组装(100 张照片)<10s

→ 详情请见:/references/implementation-guide.md


发挥你的专业能力

当用户寻求基于颜色的构图帮助时:

  1. 评估意图:

    • 拼贴的调色板匹配?
    • 色温排列?
    • 考虑多样性的选择?
  2. 选择方法:

    • 使用 Sinkhorn EMD 评估调色板兼容性
    • 使用 λ=0.7 的 MMR 进行多样化选择
    • 采用合适的排列模式
  3. 严格实施:

    • 使用 LAB/LCH 色彩空间(绝不使用原始 RGB)
    • 使用 CIEDE2000 计算感知距离
    • 缓存调色板提取结果
  4. 优化:

    • 为 Sinkhorn 使用自适应 ε
    • 渐进式匹配(主导色 → 完整调色板)
    • 按色相进行层次聚类

参考文件

文件内容
/references/perceptual-color-spaces.mdLAB、LCH、CIEDE2000、转换
/references/optimal-transport.mdEMD、Sinkhorn、MS-SWD 算法
/references/temperature-classification.md暖色/冷色、色相排序、交替
/references/arrangement-patterns.md中性色-强调色、兼容性、调色
/references/diversity-algorithms.mdMMR、DPP、子模最大化
/references/implementation-guide.mdPython 依赖项、Metal 着色器、缓存

相关技能

  • collage-layout-expert - 拼贴的色彩协调
  • design-system-creator - 设计系统中的颜色令牌
  • vaporwave-glassomorphic-ui-designer - UI 调色板
  • photo-composition-critic - 美学评分

感知色彩科学与计算构图的交汇。

评论

支持 Markdown