Spectrimage 从图像创建调色板:四轮迭代,调色板更似人工挑选!
迭代 1让它运行起来在第一个版本中在 RGB 空间中进行中值切割量化划分七个 ROYGBIV 区域经三轮区域内颜色选择和跨区域去重。但代码杂乱有十三个命名常量和六条判断灰色规则逻辑难理解还在弥补 HSL 色彩空间不足于是迁移到 OKLCH 色彩空间用全新 K - means 算法重新开始目标是让光谱展示颜色“事实”调色板体现颜色“感觉”。迭代 2聚类、合并、选择从照片选五种颜色是聚类问题已在 OKLCH 色彩空间分析图像从 HSL 饱和度到 OKLCH 彩度转变能更好衡量颜色“鲜艳程度”可根据彩度阈值筛选颜色。使用 K - means 算法K 值设为 10 过度聚类初始点根据输入像素哈希值确定。设定合并距离阈值 0.07 并预计迭代调整。聚类数量超五个用最近对逻辑合并少于五个进行补救处理。最后聚类质心典型半径内彩度最高的像素成色板。用此算法为十二张测试图像生成调色板部分合理但需调整。迭代 3色相加权距离并增加 K 值对十二张样本图像基准测试发现 K 14 是理想值能在灰色图像中找到彩色点缀。合并步骤中色度平面权重是亮度轴两倍避免算法合并错误聚类对。这两个改变带来明显改进但部分色彩鲜艳图像中深暖色调聚类仍成色板色度加权对此无帮助。迭代 4幻影防护、质量分割、质心感知代表色四张图像存在问题通过三个结构调整解决。一是删除像素权重低于 2.5% 且质心彩度低于 0.05 的聚类二是根据图像消色差和彩色像素质量分配色板插槽合并同一亮度桶中的聚类对三是根据聚类本质选色板质心彩度低于 0.03 时选最接近质心的像素否则用彩度最高规则。下一轮改进可减少同色系渐变、合并近似重复颜色、按亮度排序色板。这轮迭代让调色板更似人工挑选无需硬编码边缘情况或针对特定场景优化。