Skip to content

shadowbatcode/color_picker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

颜色取样与混合分析工具

这是一个基于 PyQt5 的交互式颜色分析工具。 支持从图片中取样颜色,区分基础色与目标色,并使用 非负最小二乘法(NNLS) 分析目标色是否可以由基础色混合得到。 结果会以表格形式展示,并可导出到 Excel 文件(带背景色标记)。


功能特点 ✨

  • 从图片中取样颜色,自动记录 RGBHEX
  • 颜色类型分为:
    • 基础色:可用于混合。
    • 目标色:需要分析是否可由基础色混合得到。
  • 支持为颜色添加/修改自定义标签。
  • 支持 批量导入标签(逗号分隔)。
  • 提供 右键菜单(删除颜色 / 修改标签)。
  • 使用 非负最小二乘法scipy.optimize.nnls)计算混合比例。
  • 分析结果以表格形式展示,并支持 导出 Excel 文件,带颜色背景。

安装依赖 📦

请先安装 Python 3.8+,然后安装所需依赖:

pip install pyqt5 opencv-python numpy pandas scipy openpyxl

运行方式 ▶️

直接运行主文件或者打开exe文件进行使用

python color_picker.py

使用说明 🖼️

image-20250913164302220

  1. 加载图片:点击“加载图片”,选择一张 .png / .jpg 图片。
  2. 选择颜色类型:在下拉框中选择“基础色”或“目标色”。
  3. 取样颜色:在图片上点击像素即可将该颜色加入对应列表。
  4. 管理颜色
    • 双击颜色条目可修改标签。
    • 右键菜单支持删除或修改标签。
    • “导入标签”可批量导入(如 A,B,C,D)。
  5. 运行分析:点击“运行颜色分析”,工具将计算目标色是否可由基础色混合得到,并展示占比结果。
  6. 导出 Excel:结果会自动导出到 color_analysis_results.xlsx,表头和目标色单元格带背景色。

输出示例 📊

image-20250913164408911

Excel 文件 color_analysis_results.xlsx 内容示例:

目标色 红色(#FF0000) 蓝色(#0000FF) 黄色(#FFFF00)
#FF8000 0.500 0.500
#8000FF 0.500 0.500

其中:

  • 第一列为目标色,带背景色。
  • 后续列为基础色的混合比例(为空表示未参与)。

技术实现 🔧

  • 界面框架:PyQt5
  • 图像处理:OpenCV
  • 混合计算:非负最小二乘法 (scipy.optimize.nnls)
  • 结果导出:openpyxl(Excel 背景色填充)

适用场景 🎨

  • 颜料、染料或涂料颜色调配研究
  • 图像与设计中颜色还原与分析
  • 教学演示颜色混合原理

About

PyQt5 color analysis tool for image color picking, NNLS pigment mixing, and Excel-highlighted exports.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages