A newer version of the Gradio SDK is available:
6.5.1
metadata
title: Color Palette Visualization
emoji: 🔥
colorFrom: purple
colorTo: purple
sdk: gradio
sdk_version: 5.47.2
app_file: app.py
pinned: false
license: mit
short_description: 快速提取图片调色板并使用UI可视化
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
Palette Explorer
一款交互式 Gradio 应用,可从任意图片中提取主色调,通过带复制按钮的排版卡片展示结果,并在 RGB 三维空间中可视化 k-means 聚类分布。
功能特点
- 使用可配置数量的 k-means 聚类提取主色调,并支持随机种子复现结果。
- 生成平滑的渐变带与排版预览卡片,提供一键复制 HEX 颜色码。
- 在交互式 Plotly 三维散点图中查看采样像素与聚类中心的 RGB 分布。
- 以结构化 JSON 展示调色板数据,便于二次处理。
- 提供命令行模式,无需启动界面即可快速导出调色信息。
快速上手
1. 本地(Conda 环境)
conda activate pytorch
python palette_app.py --ui
Gradio 会在终端输出访问地址(默认 http://127.0.0.1:7860)。
2. 命令行调色板提取
python palette_app.py -n 8 path/to/image.jpg
终端将输出颜色的 HEX、RGB 值及占比信息。
3. Docker
手动构建(GitHub Action 在 main 分支上会自动构建):
docker build -t palette-app .
docker run -p 7860:7860 palette-app
浏览器访问 http://localhost:7860 查看应用。
项目结构
.
├─ palette_app.py # Gradio / CLI 主入口
├─ requirements.txt # 运行时依赖
├─ Dockerfile # 部署用容器定义
├─ .dockerignore # Docker 构建忽略列表
└─ .github/workflows/
└─ deploy.yml # 构建并推送镜像到 GHCR 的 GitHub Action
GitHub Actions 部署
工作流 .github/workflows/deploy.yml 会在推送到 main(或手动触发)时执行:
- 安装依赖并运行烟雾测试(
python -m compileall palette_app.py)。 - 构建 Docker 镜像。
- 推送镜像到
ghcr.io/<owner>/palette-app:latest(需启用 GitHub Packages 权限)。
在其他环境拉取已发布镜像:
docker login ghcr.io
docker pull ghcr.io/<owner>/palette-app:latest
开发提示
- 若不使用 Conda,可执行
pip install -r requirements.txt安装依赖。 - 三维散点依赖 Plotly,若在无图形界面的服务器运行,可考虑导出静态文件或使用具备浏览器的环境。
- 若需本地化或自定义文案,可修改
palette_app.py中_typography_html的短句与复制按钮行为。
许可证
请在此填写项目适用的许可证(如 MIT、Apache-2.0 等)。