# 调色盘 **Repository Path**: lu-chen-yi/palette ## Basic Information - **Project Name**: 调色盘 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-05 - **Last Updated**: 2025-11-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎨 KMeans 调色板提取器 一个基于 KMeans 聚类算法的智能调色板提取网页应用,能够自动分析图像的主色调并生成对应的调色板。 ## ✨ 功能特性 - **智能颜色提取**: 使用 KMeans 聚类算法自动识别图像中的 5 个主要颜色 - **实时预览**: 上传图像后立即显示提取的调色板 - **十六进制代码**: 显示每个颜色的十六进制表示形式 - **用户友好界面**: 简洁直观的 Gradio 网页界面 - **一键操作**: 支持自动处理和手动提交两种模式 - **示例图像**: 提供示例图像快速测试功能 ## 🛠️ 技术栈 - **后端框架**: Python - **网页界面**: Gradio - **机器学习**: Scikit-learn (KMeans) - **图像处理**: OpenCV, Pillow - **数据处理**: NumPy ## 📦 安装依赖 ```bash pip install -r requirements.txt ``` ### 依赖包列表 ```txt gradio>=4.0.0 numpy>=1.21.0 opencv-python>=4.5.0 scikit-learn>=1.0.0 Pillow>=9.0.0 ``` ## 🚀 快速开始 1. **克隆项目** ```bash git clone https://gitee.com/lu-chen-yi/palette.git cd 调色盘 ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **运行应用** ```bash python app.py ``` 4. **访问应用** 打开浏览器访问: `http://localhost:7860` ## 📷 使用方法 1. **上传图像**: 点击上传区域选择图像文件,或直接拖拽图像到上传区域 2. **自动处理**: 系统会自动处理上传的图像并显示结果 3. **查看结果**: - 上方显示提取的调色板图像 - 下方显示5个颜色的十六进制代码 4. **手动操作**: - 点击 `Submit` 按钮手动处理 - 点击 `Clear` 按钮清除当前结果 ## 🎯 算法原理 ### KMeans 聚类算法 1. **图像预处理**: 将图像转换为像素点矩阵 2. **特征提取**: 每个像素的 RGB 值作为特征向量 3. **聚类分析**: 使用 KMeans 算法将像素聚类为5个主要颜色 4. **中心提取**: 获取每个聚类的中心点作为代表颜色 5. **结果展示**: 将颜色按出现频率排序并显示 ### 颜色转换 - **RGB 转十六进制**: 将聚类中心的 RGB 值转换为标准的十六进制颜色代码 - **调色板生成**: 根据提取的颜色创建可视化的调色板图像