# happy511 **Repository Path**: blurfirstzu/happy511 ## Basic Information - **Project Name**: happy511 - **Description**: 软件工程图像处理小组作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-07 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 服装主色提取系统 ## 项目介绍 本项目是软件工程及图像处理小组课设,实现了一个服装主色提取系统。该系统结合图像处理、机器学习和用户界面设计等技术,从服装图片中准确提取主色调,并提供了友好的交互界面,方便用户操作。 ## 技术支撑 1. **OpenCV**:用于图像预处理,如去除背景、调整图像格式等。 2. **KMeans 聚类算法**:提取服装图片的主色调。 3. **PyQt5**:搭建交互页面,提供良好的用户体验。 4. **Numpy、Pandas**:用于数据处理和数组操作。 5. **Matplotlib**:绘制颜色分布饼图。 6. **Scikit - learn**:使用 KMeans 聚类算法。 ## 文件说明 | 文件名 | 功能 | | ------------------------ | -------------------------------------- | | main.py | 主函数,包含系统的核心逻辑和界面初始化 | | 04 - clothes | 服装数据集,存放用于处理的服装图片 | | sample_color_dataset.csv | 标定数据集,可用于模型训练和评估 | ## 处理流程 ### 1. 预处理阶段 - 支持上传 JPG格式的图片。 - 可选择去除背景,使用 OpenCV 的 GrabCut 算法实现。 - 将图像数据转为一维像素数组。 - 过滤掉接近白色或黑色的像素(开启去除背景功能时)。 ### 2. 特征提取 - 使用 KMeans 聚类算法对像素点进行聚类。 - 获取每个簇的 RGB 值作为服装的主色调。 - 计算每个主色调的占比。 - 过滤掉黑色主色(开启去除背景功能时)。 ### 3. 结果展示 - 在界面上显示主色调的色板。 - 展示每个主色调的 RGB 值、HEX 编码、颜色名称和占比。 - 绘制颜色分布饼图。 ### 4. 数据集管理 - 支持加载 CSV 数据集。 - 保存数据集到 CSV 文件。 - 加载图片文件夹中的图片。 - 批量处理图片并将结果保存到数据集。 ### 5. 系统测试 - 提供颜色提取测试、数据集测试和完整流程测试三种测试类型。 ## 使用说明 ### 1. 安装依赖库 在运行项目之前,需要安装以下库: ```bash pip install numpy pandas PyQt5 opencv - python - headless matplotlib scikit - learn pillow ``` ### 2. 运行项目 在终端中执行以下命令启动项目: ```bash python main.py ``` ### 3. 操作步骤 #### 主界面 - 点击 “上传图片” 按钮选择要处理的服装图片。 - 调整 “提取颜色数量” 滑动条,设置要提取的主色数量。 - 若需要去除背景,勾选 “去除背景” 复选框。 - 点击 “提取主色” 按钮,系统将开始处理图片并提取主色调。 - 处理完成后,主色调将以色板的形式展示在界面上,同时显示每个主色调的 RGB 值、HEX 编码、颜色名称和占比。 - 可以点击图片区域查看该位置的颜色信息。 #### 数据集管理 - 点击 “加载 CSV 数据集” 按钮加载已有的数据集。 - 点击 “保存数据集” 按钮将当前数据集保存为 CSV 文件。 - 点击 “加载图片文件夹” 按钮选择包含图片的文件夹。 - 点击 “批量处理图片” 按钮对文件夹中的图片进行批量处理,并将结果保存到数据集。 #### 系统测试 - 选择测试类型(颜色提取测试、数据集测试、完整流程测试)。 - 点击 “运行测试” 按钮开始测试,测试结果将显示在文本框中。 ## 注意事项 - 确保上传的图片格式为 JPG。 - 若去除背景功能效果不佳,可以尝试调整参数或选择其他图片。 - 批量处理图片时,可能需要较长时间,请耐心等待。