# image_processing_desktop_app_todo_多功能 **Repository Path**: youtingyang/image_processing_desktop_app_todo_1 ## Basic Information - **Project Name**: image_processing_desktop_app_todo_多功能 - **Description**: 数字图像处理课图像处理基础的作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 256 - **Created**: 2026-03-26 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图像处理应用 这是一个功能丰富的图像处理应用程序,提供GUI图形界面和CLI命令行两种使用方式,支持多种图像处理操作。 ### 代码效果视频 图像处理APP(基础处理) 链接:https://lusun.com/v/WEVdJLzEKFG ## 功能特性 ### GUI版本 (main.py) 提供友好的图形用户界面,包含以下功能: **文件菜单** - 打开原始图像:以彩色方式打开图像 - 打开灰度图像:将图像转换为灰度图打开 - 合并通道:合并多个单通道图像为多通道图像 - 保存图像:保存当前处理后的图像 - 语言切换:支持中文/英文界面切换 - 退出:退出应用程序 **信息菜单** - 图像详情:显示图像的基本信息(文件名、像素数、形状、通道数、数据类型) **编辑菜单** - 裁剪:通过鼠标拖动选择区域进行图像裁剪 - 重置:将图像恢复到原始状态 - 亮度调节:通过滑块调节图像亮度(0%-200%) **图像分割菜单** - 分割通道:将多通道图像分割为单通道图像,分别显示 **阈值处理菜单** - 全局阈值处理:对灰度图进行阈值二值化处理 **边缘菜单** - 移动差分:通过计算平移图像差异获取图像边缘 **图像处理菜单** - 生成红色掩模:提取红色通道生成掩模图像 - 应用红色掩模:将红色掩模应用到原图像 - 反色:对图像进行反色处理 - 对比度调节:通过滑块调节图像对比度(0%-200%) - 显示直方图:显示图像的直方图统计信息 - 图像修复:通过均值滤波进行图像修复 ### CLI版本 (CLI.py) 提供交互式命令行菜单,支持所有GUI功能: 1. 亮度调节 2. 对比度调节 3. 反色处理 4. 转换为灰度图 5. 全局阈值处理 6. 移动差分 7. 图像修复 8. 显示图像信息 9. 显示直方图 10. 生成红色掩模 11. 应用红色掩模 0. 退出 ## 文件结构 ``` image_processing_desktop_app_todo_1-master/ ├── main.py # GUI主程序入口 ├── CLI.py # CLI命令行程序入口 ├── image_io.py # 图像输入输出处理 ├── image_channels.py # 图像通道分割与合并 ├── image_transform.py # 图像变换处理 ├── image_utils.py # 工具函数和日志 ├── language.json # 多语言支持配置 ├── config.py # 应用程序配置 ├── tests/ # 测试图片目录 │ ├── dog.jpg # RGB彩色测试图 │ ├── dog_gray.jpg # 灰度测试图 │ ├── dog_0.jpg # 红色通道 │ ├── dog_1.jpg # 绿色通道 │ ├── dog_2.jpg # 蓝色通道 │ └── ... └── README.md # 项目说明文档 ``` ## 环境需求 本项目需要在Python 3.x环境下运行,需要安装以下库: - **tkinter** (通常包含在Python标准库中) - **Pillow** (PIL) - 图像处理库 - **numpy** - 数值计算库 - **scikit-image** (skimage) - 科学图像处理库 ### 安装依赖 ```bash pip install scikit-image pillow numpy ``` ## 如何运行 ### 启动GUI版本 ```bash python main.py ``` ### 启动CLI版本 ```bash python CLI.py ``` ## 功能使用说明 ### 图像基本信息 - 支持RGB彩色图像和灰度图像 - 自动检测图像类型和通道数 - 提供详细的图像统计信息 ### 图像处理功能 - **亮度调节**:支持0%-200%亮度范围,实时预览效果 - **对比度调节**:支持0%-200%对比度范围,实时预览效果 - **反色处理**:快速反转图像颜色 - **灰度转换**:将彩色图像转换为灰度图 - **阈值处理**:支持0-255阈值范围,生成二值化图像 - **边缘检测**:通过移动差分算法检测图像边缘 - **图像修复**:使用均值滤波去除噪声,支持1-5像素修复半径 ### 通道处理 - **通道分割**:将RGB图像分割为R、G、B三个单通道图像 - **通道合并**:将多个单通道图像合并为多通道图像 - **红色掩模**:基于红色通道生成掩模并应用到原图像 ### 图像显示 - 自动缩放适应窗口大小 - 支持图像居中显示 - 提供直方图可视化 ## 技术实现 ### 核心算法 - **图像加载与保存**:使用scikit-image的io模块 - **图像处理**:基于numpy数组操作 - **GUI界面**:使用tkinter构建 - **图像显示**:使用PIL/Pillow的Image和ImageTk ### 数据流 1. 图像加载 → numpy数组 2. 图像处理 → numpy数组操作 3. 图像显示 → PIL对象转换 4. 图像保存 → 文件输出 ## 项目特点 1. **双模式支持**:同时提供GUI和CLI两种使用方式 2. **实时预览**:GUI版本支持实时参数调节预览 3. **多语言**:支持中文/英文界面切换 4. **完整功能**:涵盖基础图像处理的主要操作 5. **易于使用**:直观的菜单界面和操作流程 6. **错误处理**:完善的异常处理和用户提示 ## 学习内容 本项目对应**Numpy图像处理基础**课程内容,实现了以下核心功能: - 图像的Numpy数组表示 - 图像基本属性获取(形状、大小、数据类型等) - 图像通道操作(分割、合并) - 图像变换(裁剪、旋转、缩放) - 图像增强(亮度、对比度调节) - 图像滤波(均值滤波、边缘检测) - 图像直方图分析 ## 开发完成情况 ✅ 所有TODO功能已完成实现 ✅ 图像加载和保存功能 ✅ 图像通道分割与合并 ✅ 图像裁剪功能 ✅ 图像信息显示 ✅ 亮度调节功能 ✅ 对比度调节功能 ✅ 反色处理功能 ✅ 阈值处理功能 ✅ 移动差分边缘检测 ✅ 图像修复功能 ✅ 红色掩模生成与应用 ✅ 直方图显示功能 ✅ CLI命令行版本 ✅ 多语言支持 ## 许可证 本项目为学习项目,仅供学习交流使用。 ## 个人信息 - 姓名:杨悠婷 - 学号:202452320229 - 年级:2024级 - 班级:智科2班