几百个LED灯珠色坐标1分钟完成分光Bin划分——Python自研色区划分工具实战
摘要LED封装、分光、品质工程师日常处理大批量CIE(x,y)色坐标数据时人工对照图纸归类分Bin效率极低且极易出现看错、分错问题。本文分享一套纯Python开发的桌面色区划分工具无需手动逐点比对导入色坐标与标准色区四边形后一键自动分类同步输出各Bin数量、良率占比搭配可视化色坐标分布图最终可导出完整Excel报表。文章完整拆解核心几何算法叉积法判断坐标点是否位于凸四边形色区内附带可直接运行的独立算法源码可单独复用至其他分光自动化项目。行业痛点光谱仪导出成百上千组灯珠色坐标需要对照客户标准四边形色区人工区分A/B/C等Bin位。依靠Excel肉眼识图几百颗样品耗时数十分钟长期操作伤眼人为误差无法避免。本工具将几何判定逻辑程序化批量处理一键完成大幅降低分光质检工作量。一、工具解决的核心业务场景LED分光分Bin批量匹配色坐标与标准四边形色区自动统计各Bin产出数量、良率占比色坐标一致性校验对比实测灯珠分布与标准色区边界快速识别批量偏移不良来料/出货检验自动区分合格色区、超规不良点输出完整统计台账标准色区灵活处理支持整体缩放、均等拆分快速生成多级子Bin用于精细化分光。少量样品、色区数量少时可临时使用Excel手动处理若样品量数百上千、色区规格10个以上人工操作成本极高本自动化工具可完美替代人工识图判断。二、工具整体介绍基础信息工具名称色区划分V1.0形态Windows独立EXE程序双击直接运行无需本地安装Python环境技术架构Python Tkinter可视化界面 Matplotlib绘图几何判定逻辑独立封装为core.py算法模块Excel读写依赖openpyxl/xlrd兼容新旧表格格式核心优势纯几何运算不依赖Office软件批量自动分类、可视化直观、结果一键导出底层核心算法凸四边形点包含判定二维向量叉积法三、数据导入支持格式数据类型录入方式补充说明灯珠色坐标(x,y)手动录入界面展示前50行/导入CSV/XLSX/XLS表格仅可视化前50组后台全量参与运算统计无数据上限标准色区四边形手动录入4顶点坐标/批量导入表格单个色区由4个顶点构成凸四边形最多支持15组独立色区基准色区手动录入/文件导入绘图区分红色虚线展示支持双向缩放、均等拆分生成子色区顶点排序规则录入色区四点无需严格控制顺逆时针工具内置极角重排逻辑自动以X坐标最小点为起点剩余三点按极角逆时针排序保证四边形判定逻辑稳定生效。四、完整功能清单色坐标录入支持手动填写与文件导入双模式兼容CSV、XLS、XLSX三种主流分光导出格式两列数据仅需X、Y色坐标。多色区定义最多配置15个独立凸四边形色区支持单条录入、表格批量导入适配多Bin分光标准。基准色区专属处理功能缩放沿色区横向/纵向双向放大、缩小快速对比标准边界偏移拆分将整块色区均等切分为1~10份子色区实现精细化分级分光。一键自动分类运算点击运行即可批量判定每一组色坐标归属Bin界面表格实时回填分类结果同步汇总各Bin数量、占比、超规不良数量、总样品数。CIE色坐标可视化绘图等比例坐标系自动适配数据范围各色区填充区分色标注名称基准色区使用红色虚线框已分类灯珠按所属Bin上色未判定原始点灰色展示批量分布好坏一目了然。Excel报表一键导出输出完整XLSX文件包含两大模块①单颗灯珠明细序号、X、Y、归属Bin②各Bin数量、占比汇总统计表可直接用于品质归档、客户交付。五、核心底层算法叉积法判断点是否在凸四边形色区内工具核心逻辑输入单个色坐标点P、四边形4顶点通过二维向量叉积判断点相对四条有向边的方位实现快速包含判定。算法原理二维叉积公式给定原点O、两点P1、P2叉积计算c r o s s ( O , P 1 , P 2 ) ( P 1 x − O x ) ( P 2 y − O y ) − ( P 1 y − O y ) ( P 2 x − O x ) cross(O,P1,P2)(P1_x-O_x)(P2_y-O_y)-(P1_y-O_y)(P2_x-O_x)cross(O,P1,P2)(P1x​−Ox​)(P2y​−Oy​)−(P1y​−Oy​)(P2x​−Ox​)cross0点B在向量OA左侧逆时针cross0点B在向量OA右侧顺时针cross≈0三点共线点落在四边形边界上凸四边形判定规则四边形顶点统一逆时针/顺时针环绕依次计算待测点对四条边的叉积全部叉积≥极小阈值ε1e-12点在四边形内部或边界全部叉积≤极小阈值ε兼容顺时针顶点排布同样判定为内部两种条件满足其一即判定点在色区内ε用于规避浮点精度误差导致边界点误判。核心算法代码示意defpoint_in_convex_quad(p,quad):defcross(o,a,b):return(a[0]-o[0])*(b[1]-o[1])-(a[1]-o[1])*(b[0]-o[0])nlen(quad)ifn3:returnFalsesigns[cross(quad[i],quad[(i1)%n],p)-1e-12foriinrange(n)]returnall(signs)ornotany(signs)defclassify_point(point,regions):forname,quadinregions:ifpoint_in_convex_quad(point,quad):returnname# 返回第一个命中的色区returnNone# 都不在 → 色区外defclassify_all_points(points,regions):return[(p[0],p[1],classify_point(p,regions))forpinpoints]算法选型说明选用叉积法而非射线法的原因LED标准色区全部为规整凸四边形叉积仅需4次运算计算量更小、运行速度更快代码简洁稳定无复杂边界判断内置顺逆时针兼容逻辑降低用户录入顶点的操作门槛。补充若后续需要处理异形凹多边形色区可替换为射线法/环绕数算法。整套逻辑就是对每种数据读入 → 几何判定 → 写回/统计。最小可用版教学用覆盖点-色区判定与批量分类importmathdefreorder_quad(pts):ptssorted(pts,keylambdap:(p[0],p[1]))p1pts[0]otherssorted(pts[1:],keylambdap:math.atan2(p[1]-p1[1],p[0]-p1[0]))return[p1]othersdefpoint_in_quad(p,quad):defcross(o,a,b):return(a[0]-o[0])*(b[1]-o[1])-(a[1]-o[1])*(b[0]-o[0])s[cross(quad[i],quad[(i1)%4],p)-1e-12foriinrange(4)]returnall(s)ornotany(s)# 示例一个色区 几个点regionreorder_quad([(0.30,0.34),(0.36,0.34),(0.36,0.42),(0.30,0.42)])pts[(0.33,0.38),(0.50,0.50),(0.32,0.36)]forpinpts:print(p,在色区内ifpoint_in_quad(p,region)else色区外)真实工具把判定放在独立的core.pyGUItkinter只负责输入、绘图matplotlib和导出openpyxl——职责分离算法可单独测试复用。六、完整操作流程录入标准色区右侧面板手动输入每个Bin的4个顶点或导入Excel/Csv批量加载最多支持15组色区可选基准色区调整导入基准色区四边形按需缩放边界或均等拆分为多组子Bin导入实测色坐标左侧面板导入光谱仪导出表格或手动录入少量测试坐标执行分类运算点击运行表格实时回填每颗灯珠归属Bin下方面板自动统计各Bin数量、占比、不良总数可视化校验查看CIE色坐标分布图区分各色区颜色快速判断批量偏移、不良集中区域导出归档报表一键导出XLSX文件包含明细数据与汇总统计表用于品质记录、客户对账。使用注意事项各标准色区四边形尽量避免重叠若存在重叠区域色坐标会优先匹配先录入的色区定义顺序会影响分类结果。七、使用避坑要点色区边界要求工具判定逻辑仅适配凸四边形LED行业分光标准均为凸区域无误判风险凹四边形、自交多边形会出现判定错误界面表格限制界面仅展示前50组色坐标用于预览后台完整读取全部数据运算不会丢失样品运行依赖说明源码本地运行时core.py与主程序需放在同一文件夹打包EXE已内置全部依赖无需额外配置浮点精度处理内置1e-12容差边界上的色坐标不会被误判为不良适配仪器测量微小波动软件依赖库Tkinter、Matplotlib、openpyxl、xlrd标准Python环境可一键pip安装。八、工具落地价值总结本工具完整解决LED分光人工分Bin的低效痛点对比传统人工识图具备四大优势批量极速处理上千组色坐标一分钟完成全部分类替代半小时以上人工操作数据零误差几何算法统一判定标准消除人眼识别偏差可视化辅助分析分布图直观呈现样品整体分布批量色差、偏移问题一眼定位报表自动生成明细、良率汇总一键导出省去手工统计、制表工作色区灵活调整支持缩放、拆分基准色区适配客户各类细分分光标准。如果你也常卡在一批色坐标要判断 Bin这一步不想自己搭环境、不想写判定代码可以私信我聊聊——工具是桌面版需要的话我发你包和用法。也欢迎关注我后续还会写更多把重复活交给软件的自研小工具实战。

相关新闻

多代同堂婚房系统性空间设计与环保落地解决方案(徐州地域工况适配)

多代同堂婚房系统性空间设计与环保落地解决方案(徐州地域工况适配)

本文以新婚家庭长期居住需求为出发点,针对婚房需要覆盖备孕居住、婴幼儿成长、长辈长期同住十几年生命周期的痛点,结合徐州高湿度、墙体易沉降开裂等本地建筑气候特征,从环保材料闭环管控、全周期模块化收纳体系、全龄无障碍安全构造、本地化…

2026/10/14 5:16:06 阅读更多 →
Rhino.Inside.Revit完全指南:如何用免费工具实现BIM参数化设计一体化

Rhino.Inside.Revit完全指南:如何用免费工具实现BIM参数化设计一体化

Rhino.Inside.Revit完全指南:如何用免费工具实现BIM参数化设计一体化 【免费下载链接】rhino.inside-revit This is the open-source repository for Rhino.Inside.Revit 项目地址: https://gitcode.com/gh_mirrors/rh/rhino.inside-revit 如果你正在寻找一种…

2026/10/14 5:16:21 阅读更多 →
3分钟快速定位被占用快捷键:Windows热键侦探完全指南

3分钟快速定位被占用快捷键:Windows热键侦探完全指南

3分钟快速定位被占用快捷键:Windows热键侦探完全指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾经…

2026/10/4 20:02:02 阅读更多 →

最新新闻

从 1080P 到 4K:Video2X 的 Qt6 界面把视频超分辨率与帧插值做成四步

从 1080P 到 4K:Video2X 的 Qt6 界面把视频超分辨率与帧插值做成四步

从 1080P 到 4K:Video2X 的 Qt6 界面把视频超分辨率与帧插值做成四步 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Tre…

2026/10/14 5:16:02 阅读更多 →
用RAG盘活老师傅经验:制造业设备手册解析与故障诊断开源框架

用RAG盘活老师傅经验:制造业设备手册解析与故障诊断开源框架

制造业里攒文档的速度,永远赶不上老师傅退休的速度。我见过不少车间,设备手册摞起来半人高,故障代码表散落在三四个系统里,老师傅随口一句“这声音不对”,新来的维护工要翻半天手册才敢动手。我一直在琢磨怎么用RAG把这…

2026/10/14 5:16:02 阅读更多 →
工业AI落地制造现场:从缺陷检测到工艺优化的实战观察

工业AI落地制造现场:从缺陷检测到工艺优化的实战观察

这几年我跑了不少制造工厂,从汽车零部件、家电组装到电子产线,都待过一阵子。发现一个有趣的现象:“工业AI”这个词人人都在喊,真正把模型嵌进产线、天天跑数据的其实没多少。许多人把工业AI想象成科幻片里的机器人代替工人&#…

2026/10/14 5:16:02 阅读更多 →
C++与AI框架:从LibTorch部署到推理引擎的工程实战

C++与AI框架:从LibTorch部署到推理引擎的工程实战

1. 为什么AI圈子里C依然是硬通货在Python几乎统治了算法实验和模型训练脚本的今天,聊C与人工智能框架这个话题,听起来像是考古。但真正把AI系统推到生产环境的人,大概率都明白一个事实:Python是AI的壳,C才是AI的魂。先…

2026/10/14 5:16:02 阅读更多 →
codelin 统一 Claude Code 级别智能编程助手:UnifiedClaudeCodeAssistant 功能整合实现全解析

codelin 统一 Claude Code 级别智能编程助手:UnifiedClaudeCodeAssistant 功能整合实现全解析

人工智能大模型AI Agent代码智能体工具调用MCP 服务RAG交互助手 【免费下载链接】codelin 项目地址: https://gitcode.com/Cangjie-SIG/codelin 点击查看 免费下载 导读:本文以 codelin 智能编程助手的“统一功能整合”为主线,完整拆解其基于…

2026/10/14 5:16:02 阅读更多 →
Small Agent为何要从生成式推理转向分类式推理

Small Agent为何要从生成式推理转向分类式推理

1. 为什么“生成式推理”正在拖慢 Small Agent 的实际落地?你有没有遇到过这样的场景:一个轻量级的智能体(Small Agent),部署在边缘设备上,响应延迟要求低于200毫秒,但每次执行“判断用户意图”…

2026/10/14 5:15:02 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →