用不到的色号怎么办?深入perler-beads颜色排除与自动重映射算法实现
【免费下载链接】perler-beads拼豆底稿生成器 (Perler Beads Generator)项目地址https://gitcode.com/gh_mirrors/pe/perler-beads点击查看免费下载perler-beads 是一个开源的拼豆底稿生成器上传任意图片即可自动输出带色号标注的拼豆图纸和采购清单。它的「颜色排除与自动重映射」功能解决了拼豆党最常见的头疼问题——图纸里出现了一两个你根本没有、也不想要的色号。只需要点击排除算法就会自动把这些区域替换成最相近的可用颜色本文带你从使用和实现两个层面看懂它。为什么拼豆图纸会出现没用的色号生成拼豆图纸时以下情况几乎不可避免 色板越大颜色越多某些颜色可能只被用到了 12 粒却要多买一整袋 手头色豆不全希望把缺的颜色替换成已有的相近色 两个相邻颜色在成品上肉眼几乎无差别不如合并掉手动逐个像素改色不现实一张图动辄上千格perler-beads 的做法是一键排除 自动重映射排除一个色号整图相关区域瞬间完成替换。三步一键排除用不到的色号上传图片生成图纸像素化完成后页面下方会出现「去除杂色」颜色统计面板列出当前图纸中所有出现的颜色及用量总计多少颗点击颜色即可排除点击任意一行颜色该颜色立即被排除——面板中显示为红色背景加删除线图纸预览中原本使用该颜色的区域自动换成最相近的可用色排除错了随时恢复展开「已排除的颜色 (N)」折叠区可以逐个点击「恢复」也可以「一键恢复所有颜色」 如果你把颜色全部排除完页面会弹出黄色警示条提示当前可用颜色过少或为空并提供按钮直接跳转到已排除颜色列表方便快速恢复。这套面板的界面代码位于 src/app/page.tsx颜色排除的完整交互逻辑点击排除 / 点击恢复实现在 src/app/page.tsx 的handleToggleExcludeColor函数中。自动重映射算法五步拆解替换色是怎么选出来的排除颜色远不是把格子换个颜色这么简单。perler-beads 用一条精心设计的流水线保证替换结果既自然、又不引入新的颜色。① 先给图纸拍照记录初始颜色集合图片经过「像素化 → 区域颜色合并 → 背景移除」完整处理后系统会把网格中实际出现的所有颜色记录进一个名为initialGridColorKeys的集合。这个初始颜色快照是整个排除算法的地基——后面所有替换色都只允许从这份原始名单里挑选。记录动作见 src/app/page.tsx。② 圈定候选范围只从图中已有颜色里挑当你点击排除颜色 X 时系统先算出一个候选集合候选集合 初始颜色集合 − 被排除的颜色X − 其他已被排除的颜色然后用这个候选集合过滤完整色板得到重映射目标调色板remapTargetPalette对应代码在 src/app/page.tsx。核心设计为什么不直接在整个 291 色色板里找最近色因为排除颜色的目的正是减少颜色种类。如果替换色引入了图纸里原本不存在的颜色就等于排了一个、又加了一个色号数量不降反升采购清单也白做了。③ 找最相近的颜色Oklab 感知色空间候选调色板确定后系统遍历网格中所有非背景单元格对每个正在使用被排除颜色的格子调用findClosestPaletteColor在目标调色板里找颜色距离最小的颜色并把格子的色号与色值替换过去。这里的颜色距离不是简单的 RGB 数值相减而是先在Oklab 感知色空间中计算RGB 先做 sRGB 线性化并转换到 Oklab再求欧氏距离乘以 100。Oklab 对颜色差异的度量更接近人眼感知因此替换出来的颜色观感更自然、不会出现数值近但看起来怪的情况。颜色距离函数src/utils/pixelation.ts最近色查找函数src/utils/pixelation.ts④ 安全检查防止图纸无颜色可用️ 如果排除 X 并扣除其他已排除颜色后候选集合变空了说明整个图将没有任何颜色可映射——此时系统会阻止这次排除并提示无法排除颜色 XXXX因为图中最初存在的其他可用颜色也已被排除。请先恢复部分其他颜色。这一步从机制上杜绝了把图排除到无法渲染的极端状态。⑤ 排除与恢复的非对称策略两种操作的代价完全不同perler-beads 为此采用了差异化处理操作内部策略特点排除颜色局部重映射只替换使用被排除色的单元格并即时重算颜色统计⚡ 秒级响应不动其他格子恢复颜色触发remapTrigger重跑完整流水线像素化 → 颜色合并 → 背景移除 回到最干净的全局结果排除完成后每种颜色的粒数与总颗数会自动重新统计采购清单始终与图纸保持同步。几个值得留意的实现细节背景格子永不参与重映射经洪水填充标记为外部isExternal的背景格会被跳过排除颜色不会破坏背景移除结果内部用 hex 色值展示才转色号排除、统计全程以 hex 值作为键展示层才按当前品牌体系MARD / COCO / 漫漫 / 盼盼 / 咪小窝翻译色号因此切换品牌不影响排除状态。291 种标准颜色与 5 大品牌的映射数据在 src/app/colorSystemMapping.json状态卫生排除/恢复颜色会自动退出手动着色模式并清空编辑历史避免手动改色与自动重映射状态冲突排除后导出最终图纸与采购清单 PNG 由 src/utils/imageDownloader.ts 生成统计的正是排除重映射之后的最新数据本地运行 perler-beads 亲自体验颜色排除git clone https://gitcode.com/gh_mirrors/pe/perler-beads cd perler-beads npm install npm run dev浏览器打开http://localhost:3000上传任意图片在「去除杂色」面板点一点即可直观感受颜色排除与自动重映射的效果。更多算法细节与 Roadmap如 CIEDE2000 色差、Floyd-Steinberg 抖动可参考 README.md 与 CLAUDE.md。小结perler-beads 的颜色排除功能看似只是点一下删掉一个色号背后却是一条完整的算法链路——初始颜色快照、候选集合收敛、Oklab 感知距离、空调色板防护、排除/恢复差异化处理。想让自己的拼豆图纸用色更少、采购更省这个功能值得每个拼豆玩家用起来。赞分享【免费下载链接】perler-beads拼豆底稿生成器 (Perler Beads Generator)项目地址https://gitcode.com/gh_mirrors/pe/perler-beads点击查看免费下载相关推荐LiveKit Safari AV1 兼容完整指南服务端 3 个自动适配机制解决画面冻结LiveKit Safari AV1 兼容完整指南服务端 3 个自动适配机制解决画面冻结 你在 Safari 上发起视频通话画面卡顿甚至直接黑屏。十有八九heatmap.js热力图颜色映射算法从HSV到RGB转换heatmap.js热力图颜色映射算法从HSV到RGB转换 热力图颜色映射的技术痛点与解决方案 你是否曾为热力图颜色过渡不自然而困扰是否在实现自定义色阶时遇前端数据可视化图表库FreeRTOS 实时操作系统新手指南从克隆仓库到第一个多任务示例FreeRTOS 实时操作系统新手指南从克隆仓库到第一个多任务示例 当你需要在一颗小 MCU 上同时轮询传感器、收发串口、按节拍喂看门狗时FreeRTOS操作系统嵌入式物联网RTOS上一篇CouchDB 一致性模型完全解析从 CAP 定理到 MVCC 与增量复制下一篇如何参与朱雀仿宋开源开发字表整理、字形反馈与社区协作完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Qt通过HTTP连接企业微信群机器人发送消息实战指南

Qt通过HTTP连接企业微信群机器人发送消息实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 2:59:58 阅读更多 →
从智能体技能树说起:Agent Skills如何让AI真正“会干活”

从智能体技能树说起:Agent Skills如何让AI真正“会干活”

前阵子和几个做智能体(Agent)的朋友交流,发现大家的困惑高度一致:搭个能聊天的机器人早就不是难事了,难的是让Agent真正"会干活"——查数据、写报告、操作表格、调接口,每换一个任务场景&#xf…

2026/10/16 2:59:58 阅读更多 →
Fontsource 字体档案:Federant —— 从 1911 年 Feder Antiqua 到现代 Web 展示衬线体

Fontsource 字体档案:Federant —— 从 1911 年 Feder Antiqua 到现代 Web 展示衬线体

前端CLI开发工具 【免费下载链接】fontsource Self-host Open Source fonts in neatly bundled NPM packages. 项目地址: https://gitcode.com/gh_mirrors/fo/fontsource 点击查看 免费下载 Federant 是 Cyreal 设计工作室于 2011 年发布的一款展示型衬线字体&…

2026/10/16 2:58:58 阅读更多 →

最新新闻

CTF音频隐写解题指南:从‘啊哒~’看振幅、频谱与相位三重分析

CTF音频隐写解题指南:从‘啊哒~’看振幅、频谱与相位三重分析

1. 从一道CTF杂项题名看起:为什么“啊哒~”不是卖萌,而是信号“BugkuCTF-Misc:啊哒~”——第一次在某高校CTF训练平台看到这个标题时,我下意识点开想看看是不是新出的搞笑彩蛋题。结果发现它被归在Misc(杂项&#xff0…

2026/10/16 3:52:10 阅读更多 →
CANN一站式算子开发工具:从工程生成到性能优化的完整实践

CANN一站式算子开发工具:从工程生成到性能优化的完整实践

做AI算子开发的朋友,应该都有过这种体验:需求一句话就说完了——“写个自定义算子”,真正动手却要在工程搭建、参数定义、调试、性能调优上来回折腾。如果恰好是在一款新的AI芯片上跑,工具链又不成熟,那痛苦程度直接翻…

2026/10/16 3:52:10 阅读更多 →
Win10下VMware安装CentOS 7.9并配置静态IP与外网访问

Win10下VMware安装CentOS 7.9并配置静态IP与外网访问

1. 为什么要在Win10上折腾CentOS 7.9虚拟机很多刚接触Linux运维或者后端开发的朋友,第一道拦路虎不是命令本身,而是“我该把系统装在哪”。直接把自己的主力Windows 10笔记本格掉装Linux,显然不现实——办公、聊天、看文档都还得靠它。退而求…

2026/10/16 3:52:10 阅读更多 →
深度学习为何持续流行:从特征学习到端到端训练的范式变革

深度学习为何持续流行:从特征学习到端到端训练的范式变革

1. 从一张老照片说起:深度学习到底改变了什么2012年之前,如果你在一场计算机视觉的学术会议上说“我们用一个端到端的神经网络把图像分类错误率砍掉一半”,大概率会被审稿人反问:“你的特征工程做了什么?为什么不用SIF…

2026/10/16 3:52:10 阅读更多 →
WinUI 3 快速上手指南:6 个里程碑做出 Fluent 风格的 Windows 应用

WinUI 3 快速上手指南:6 个里程碑做出 Fluent 风格的 Windows 应用

WinUI 3 快速上手指南:6 个里程碑做出 Fluent 风格的 Windows 应用 【免费下载链接】microsoft-ui-xaml WinUI: a modern UI framework with a rich set of controls and styles to build dynamic and high-performing Windows applications. 项目地址: https://g…

2026/10/16 3:52:10 阅读更多 →
PL/0编译器C语言实现:从词法分析到解释执行的完整教学级编译流程

PL/0编译器C语言实现:从词法分析到解释执行的完整教学级编译流程

简介:本资源是N.Wirth教授经典PL/0语言编译器的C语言实现源码,面向编译原理初学者、高校计算机专业学生及教学实践者,用于深入理解词法分析、语法分析、语义处理与目标代码生成等编译全流程核心机制。压缩包为11KB的ZIP格式,共含2…

2026/10/16 3:51:09 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →