diff --git a/README.md b/README.md index 1c9444b..3582994 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,50 @@ # 拼豆底稿生成器 (Perler Beads Generator) -一个基于 Web 的工具,可以将普通图片转换为适配特定拼豆调色板的像素画图纸。用户可以上传图片,调整像素化粒度、颜色合并阈值,选择预设色板,排除特定颜色,预览效果,并下载带有颜色编码的图纸和用量统计图。 +因为市面上的拼豆软件差强人意(可能是我没用到好的),所以花了大概两个小时,写了一个专门生成拼豆图纸的网站: + +[perlerbeads.zippland.com](perlerbeads.zippland.com) + +❓ +想解决的(市场上拼豆软件的)问题: +1. 颜色识别, +2. 灰色毛状边界线, +3. 无法自适应合并同色系的颜色, +4. 手动着色困难,无法精准选择颜色 +4. 无法给出采购清单, +5. 限制图片的导出和打印。 + +💯 +目前(网站上的)功能: +1. 生成底稿, +2. 对应Mard颜色, +3. 解析风格选择(池化逻辑) +4. 自动合并邻近相似颜色 +5. 统计每个颜色/一共有多少粒, +6. 半自动去除杂色, +7. 细节部分的手动着色(或修改) +7. 导出图纸, +8. 导出采购清单。 + +❤️ +如果有需求可以直接提,我集成在网站里。 + +✅ +对于商家,我把算法的改进思路放在这里, +希望你们可以越做越好。 +如果有其他想二开的同学,可以直接在项目提交pr, +这个思路也可以直接使用̋(ˊ•͈ꇴ•͈ˋ) + +1️⃣ 初始颜色映射 +黑色毛边是因为池化过程中对RGB 采用了 mean 操作,改为局部 max pooling ,每个单元,找到像素频率最高的 RGB 值,用欧氏距离查找最近的颜色就行。 + +2️⃣ 区域颜色合并 +杂色问题的产生,是因为没有进行颜色合并操作,需要从未访问单元格开始,使用BFS 查找欧氏距离小于阈值的邻近单元格,形成区域。将整个区域统一设置为该区域内出现次数最多的色号对应的颜色即可。 + +3️⃣ 背景移除 +无法进行拼豆数量统计的原因,是没有进行背景移除操作:先定义背景色号列表。从图像所有边界单元格开始执行洪水填充。将所有与边界连通且颜色属于背景色号列表的单元格标记为“外部”。统计和下载时将忽略这些“外部”单元格即可。 + +4️⃣ 颜色排除与重映射 +这是杂色自动去除仍不干净的情况下的附加功能,首先确定图像处理后最初包含的所有已存在颜色。重映射时,仅在已存在颜色中排除和其他已排除颜色的子集里寻找替换色。 ## 功能特点