# IPA项目05:图像处理APP_v2 **Repository Path**: xv514/image_processing_desktop_app_todo_1_1 ## Basic Information - **Project Name**: IPA项目05:图像处理APP_v2 - **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-05-14 - **Last Updated**: 2025-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Image Processor - Image Processor 是一个用于处理图像的 Python 应用程序。它提供的功能包括: - 打开原始图像和灰度图像 - 合并图像通道 - 裁剪、重置、亮度调节 - 全局阈值处理(针对灰度图) - 边缘检测(通过移动分差实现,仅支持灰度图) - 创建掩膜(生成红色、绿色、蓝色掩膜,仅支持彩色图) - 位运算(与运算、或运算、异或运算、非运算),其中位运算会自动检查并调整遮罩图像的尺寸和格式 ## 代码效果视频: 图像处理APP(基础处理) 链接:https://lusun.com/v/WEVdJLzEKFG ## 文件结构 ``` d:\数字图像处理\4\ │ ├── main.py # 主入口文件,包含所有图像处理功能 ├── image_io.py # 处理图像输入输出的相关代码 ├── image_channels.py # 处理图像通道分割与合并相关代码 ├── image_transform.py # 图像裁剪等变换功能代码 ├── image_utils.py # 辅助工具(日志、语言数据等) ├── language.json # 多语言支持文件,包含中英文界面文本 ├── config.py # 应用程序配置文件 ├── README.md # 项目说明文件 └── tests/ # 包含测试图片文件,如: ├── dog.jpg # 原始RGB图像 ├── dog_gray.jpg # 灰度图像 └── dog_0.jpg, dog_1.jpg, dog_2.jpg # 分割出的通道图 ``` ## 环境需求 本项目需在 Python 3.x 环境下运行,并依赖以下库: - tkinter (Python 标准库) - Pillow (PIL) - numpy - scikit-image 可以使用以下命令安装 scikit-image: ```bash pip install scikit-image ``` ## 如何运行 在命令行中进入项目目录后,运行: ```bash python main.py ``` ## 功能说明 - **文件操作** - 打开原图和灰度图:通过文件对话框加载图像。 - 保存当前图像:将内存中处理后的图像保存为文件。 - **编辑操作** - 图像裁剪:通过鼠标在画布上选择裁剪区域。 - 重置图像:恢复为加载的原始图像。 - 亮度调节:通过拖动滑块在 0% ~ 200% 范围内调整图像亮度。 - **图像分割** - 分割彩色图像的通道:在新窗口中显示每个子通道,并支持保存。 - **阈值处理** - 全局阈值处理:仅适用于灰度图,通过弹出窗口中的滑动条(初始值为128)实时调整阈值进行二值化处理。 - **边缘处理** - 移动分差:仅适用于灰度图,通过拖动滑块控制图像左右平移(范围 -3 到 3 像素)后计算差分得到边缘图。 - **掩膜创建** - 创建红色、绿色、蓝色掩膜:针对彩色图像生成指定颜色的掩膜,并可在新窗口查看和保存。 - **位运算** - 与运算(遮罩)、或运算(融合)、异或运算(差异)、非运算(反转):通过选择相应遮罩或融合图像对当前图像进行按位运算。程序会自动调整选取的遮罩图像尺寸和格式以匹配当前图像。 - **多语言支持** - 使用 language.json 文件管理中英文显示文本,在菜单中可切换语言(中英文)。 ## TODO 项目 - **Numpy 图像处理基础** - `show_image_details`: 显示图像的基本属性。 - **图像输入输出** - `load_image` 和 `save_image`:分别实现图像的加载和保存功能。 - **图像裁剪与变换** - `crop_image`: 通过数组切片实现裁剪。 - **图像通道操作** - `merge_image_channels`: 合并多个通道为彩色图像。 - `split_image_channels`: 分割彩色图的所有子通道。 ## 个人信息 - 学号: 徐晓彤 - 年级: 2023 - 专业: 智能科学与技术 - 班级: 2 班