# 666 **Repository Path**: tpingguo1/666 ## Basic Information - **Project Name**: 666 - **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-12-17 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KMeans 调色板提取器 使用 K-Means 聚类从图片中提取主色调,并以十六进制颜色值展示。提供两种界面: - app.py:色块预览 + 复制按钮的精美界面 - weapp.py:ColorPicker + 文本框展示 HEX 列表 ## 功能特点 - **主色提取**:基于 sklearn 的 KMeans 聚类提取图片主色 - **尺寸自适应**:按最长边缩放至 500(默认,可调) - **可视化**:色块预览、HEX 代码、复制按钮 - **易用界面**:基于 Gradio,一键运行本地 Web 应用 ## 环境要求 - Python 3.8+ - 依赖包: - numpy - pillow - scikit-learn - gradio ## 安装 ```bash pip install -U numpy pillow scikit-learn gradio ``` ## 快速开始 ### 方式一:运行精美界面(推荐) ```bash python app.py ``` 启动后: 1. 在浏览器中打开提示的本地地址 2. 上传图片 3. 点击“提取调色板”查看主色块与 HEX 代码,并可一键复制 ### 方式二:运行简洁界面 ```bash python weapp.py ``` 启动后: 1. 上传图片 2. 点击“Submit” 3. 通过 ColorPicker 查看颜色,同时在文本框中查看 HEX 列表 ## 使用说明 - 支持常见格式:JPG/PNG 等 - 提取颜色数量默认为 5(可调) - 首次运行会在终端显示访问地址,按提示在浏览器打开 ## 配置参数 两个入口文件均使用相同的关键参数: - `N_COLORS`:提取颜色数量,默认 5 - `MAX_IMAGE_SIZE`:缩放后最长边像素,默认 500 在代码顶部可直接修改: ```python N_COLORS = 5 MAX_IMAGE_SIZE = 500 ``` ## 核心流程 1. 读取上传的图像并转换为 RGB 2. 按最长边缩放至 `MAX_IMAGE_SIZE` 限制 3. 展平像素为 (N, 3) 4. 使用 KMeans(n_clusters=N_COLORS) 聚类 5. 取聚类中心作为代表色,按簇大小排序 6. 输出十六进制颜色值(如 `#a1b2c3`) ## 常见问题 - 若图片过大,程序会自动等比缩放以保证速度与内存友好。 - 部分图片颜色单一时,可能少于设定的 `N_COLORS`(`app.py` 已做兼容)。 - 若浏览器未自动打开,请复制终端中显示的本地 URL 访问。 ## 目录结构 ``` . ├─ app.py # 精美界面:色块预览 + 复制按钮 ├─ weapp.py # 简洁界面:ColorPicker + HEX 文本 └─ README.md ``` ## 许可 学号:202352320125 年级:2023级 专业:智能科学与技术 班级:1班