一个基于 PyQt6 的桌面应用程序,用于自动识别图片中颜色不同的方块位置。支持上传图片、粘贴、截图等多种方式,并提供可调节的敏感度设置。
-
📁 多种输入方式
- 选择本地图片文件
- Ctrl+V 粘贴剪贴板图片
- 全屏截图框选(支持DPI缩放校准)
- 拖拽图片到窗口
-
🎯 智能识别
- 自动检测网格大小(支持矩形网格)
- 精确识别不同颜色的方块位置
- 可调节敏感度(0.5-3.0)
- 支持极细微色差识别
-
🎨 用户体验
- 自动识别,无需手动点击
- 自适应窗口大小
- 支持暗色主题
- 窗口置顶开关
- 调试模式显示所有方块颜色值
-
⚙️ 高级功能
- DPI缩放校准(解决高分屏截图偏移)
- 自动保存窗口大小和设置
- 多策略颜色识别算法
- 确保已安装 Python 3.8 或更高版本
- 双击运行
install.bat - 等待依赖安装完成
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
venv\Scripts\activate # Windows
source venv/bin/activate # Linux/Mac
# 安装依赖
pip install -r requirements.txt方式一: 双击 start.bat
方式二: 命令行启动
venv\Scripts\activate
python app.py-
加载图片
- 点击"📁 选择图片"按钮
- 或按 Ctrl+V 粘贴剪贴板图片
- 或点击"✂️ 截图选区"进行截图
- 或直接拖拽图片到窗口
-
自动识别
- 图片加载后会自动开始识别
- 识别结果显示在底部
-
调节敏感度
- 拖动顶部"敏感度"滑块
- 向左:只识别明显差异
- 向右:识别细微差异
- 推荐值:1.5-2.0
-
调试模式
- 勾选"调试"复选框
- 查看所有方块的实际RGB值
- 帮助判断识别准确性
如果截图位置不准确:
- 点击"⚙️ DPI校准"按钮
- 点击"🔍 自动检测系统DPI"
- 或手动调整水平/垂直缩放比例
- 点击"OK"保存设置
双击运行 build.bat,打包完成后EXE文件位于 dist/颜色块识别器.exe
- PyQt6 >= 6.5.0
- Pillow >= 10.0.0
- numpy >= 1.24.0
项目包含两个测试用的找颜色游戏:
简化版游戏,专为测试设计:
- 无时间限制
- 可调节网格大小(3x3 到 10x10)
- 四种难度(简单、中等、困难、极难)
完整版游戏,下载自网络:
- 已添加"不限时模式"开关
- 用于真实场景测试
- 边缘检测法:检测前景背景分离,找到色块间隙
- 备用方案:均匀分割尝试所有可能的行列组合
- 平均距离法:计算每个颜色到其他颜色的平均距离
- Z-score异常检测:使用标准差找出统计异常值
- MAD中位数绝对偏差:更稳健的异常检测
- K-means聚类:将颜色分成两组,返回少数组
- 最远距离法:找距离中位数最远的方块
Ctrl+V- 粘贴图片Ctrl+O- 打开文件ESC- 取消截图选区
- DPI缩放:高分屏用户首次使用建议进行DPI校准
- 敏感度调节:
- 色差明显:使用较低敏感度(0.5-1.0)
- 色差细微:使用较高敏感度(2.0-3.0)
- 截图建议:截图时尽量包含完整的色块网格,避免截取部分
Q: 截图位置不准确?
A: 点击"DPI校准",使用自动检测或手动调整缩放比例。
Q: 识别不出细微色差?
A: 将敏感度滑块拉到最右(3.0),勾选"调试"查看实际颜色值。
Q: 网格识别错误?
A: 确保截图包含完整网格,背景与色块有明显区分。
Q: 打包后图标不显示?
A: 确保 icon.ico 文件在根目录,重新运行 build.bat。
color_finder/
├── app.py # 主程序
├── icon.ico # 程序图标
├── requirements.txt # 依赖列表
├── install.bat # 一键安装脚本
├── start.bat # 启动脚本
├── build.bat # 打包脚本
├── color_game.html # 测试游戏(简化版)
├── color-game/ # 测试游戏(完整版)
│ ├── index.html
│ ├── colorJudgement.js
│ └── style.css
└── README.md # 本文件
欢迎提交 Issue 和 Pull Request!
MIT License
- PyQt6 - 强大的Python GUI框架
- Pillow - Python图像处理库
- NumPy - 科学计算库
开发环境: Windows 10/11, Python 3.8+
最后更新: 2025年12月