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

An interactive color analysis tool built with PyQt5. It lets users pick colors from images, classify them as base or target colors, and check if target colors can be mixed from base colors using NNLS. Results are shown in tables and exported to Excel with color highlights.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages