拼豆图像算法实验
“照片变成格子”只是第一步。能不能线下拼,取决于每格怎么取色、色号怎么匹配、边缘是否发灰,以及少量五官会不会被当成噪点删除。
实验版本:2026 年 7 月 27 日 · MARD 221 基础色卡案例:复杂插画先简化,再转拼豆
下面使用同一张站内测试图。左侧是 AI 简化后的插画,右侧是 420 × 420 的数字拼豆模拟效果。右图用于检查轮廓、色块与格子分布,不是线下成品实拍。


多人物全身图即使简化后仍然需要较多豆子。想控制在 1 万颗以内,应先裁掉大面积留白,再根据人物数量选择网格宽度;单人头像通常更容易保留五官。
实验 1:每格取众数色,不取平均色
缩小图片时,一个目标格子往往覆盖描边、肤色和背景。如果把所有像素平均,黑色描边与白色背景会混成灰边;如果取出现次数最多的颜色,主体色块通常更干净。
目标格颜色 = 该区域中出现次数最多的有效颜色
平均色仅用于连续照片模式,不作为插画描边的默认方案
平均色仅用于连续照片模式,不作为插画描边的默认方案
众数取色也不是万能的。眼睛、嘴角或耳饰占比很小时,仍可能输给周围肤色,因此后面还需要人物特征保护。
实验 2:RGB 最近色与 CIEDE2000 的差异
以下目标色在 MARD 221 基础色卡中分别用 RGB 欧氏距离和 CIEDE2000 色差寻找最近色。结果由当前网站色卡数据直接计算,可在代码更新后重复验证。
| 目标屏幕色 | RGB 最近色 | CIEDE2000 最近色 | 观察 |
|---|---|---|---|
| #B98972 | M8 | M13 | 偏暖肤色:Lab 避免配成偏灰紫 |
| #4C7F83 | B25 | M3 | 灰青色:RGB 更绿,Lab 更接近低饱和观感 |
| #485A92 | C29 | D3 | 蓝紫区域:两种距离对色相权重不同 |
| #E2C8A5 | G11 | G16 | 浅米色:Lab 更看重人眼感知的明度与色差 |
屏幕 HEX 只是算法参考,实体豆仍会受显示器、灯光和生产批次影响。大作品建议先用真实色卡确认肤色、灰色和相邻浅色。
实验 3:描边与五官保护
统一把所有深色都压成黑色,会让头发、眼睛和外轮廓粘成一片;过强去杂点又会删掉单格眼睛。当前策略把两类深色分开处理:
- 只把紧邻透明背景的外轮廓压向最深色,保证主体边界连续。
- 肤色区域内部的小块深色进入人物特征保护掩码,去杂点时不直接删除。
- 编辑器保留人工修改入口,自动结果无法可靠判断时由用户决定。
当前结论与仍需验证的部分
- 已验证:众数取色能减少插画边缘发灰;Lab/CIEDE2000 在部分肤色、灰青和蓝紫目标色上会选择不同色号;特征保护能避免小五官被去杂点吞掉。
- 尚未声称:数字模拟效果不等于熨烫后的实体颜色,也不能替代不同豆子批次、灯光和板子尺寸下的实物测试。
- 下一步:收集获得公开授权的原图、图纸、摆豆过程和成品四联案例,记录实际豆数、耗时与需要人工修正的格子。