|
|
|
@ -0,0 +1,113 @@
|
|
|
|
|
# 图像处理软件
|
|
|
|
|
|
|
|
|
|
## 简介
|
|
|
|
|
|
|
|
|
|
这是一个基于深度学习的Python图像处理软件。用户可以使用该软件将输入的图像进行指定的图像处理功能,例如图像修复、风格迁移、腐蚀、轮廓检测等。实现过程中使用了 PyTorch 提供的深度学习功能和OpenCV库。
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
```
|
|
|
|
|
.
|
|
|
|
|
├── README.md
|
|
|
|
|
├── data
|
|
|
|
|
│ ├── img
|
|
|
|
|
│ │ ├── save.png
|
|
|
|
|
│ │ ├── style1.jpg
|
|
|
|
|
│ │ ├── style10.jpg
|
|
|
|
|
│ │ ├── style11.jpg
|
|
|
|
|
│ │ ├── style2.png
|
|
|
|
|
│ │ ├── style3.jpg
|
|
|
|
|
│ │ ├── style4.png
|
|
|
|
|
│ │ ├── style5.jpg
|
|
|
|
|
│ │ ├── style6.jpg
|
|
|
|
|
│ │ ├── style7.png
|
|
|
|
|
│ │ ├── style8.jpg
|
|
|
|
|
│ │ └── style9.jpg
|
|
|
|
|
├── src
|
|
|
|
|
│ ├── buildModel.py
|
|
|
|
|
│ ├── loadImg.py
|
|
|
|
|
│ ├── loss.py
|
|
|
|
|
│ ├── runCode.py
|
|
|
|
|
│ ├── start.py
|
|
|
|
|
│ └── uiImageProcessor.py
|
|
|
|
|
└── venv
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
- [图像处理软件](#图像处理软件)
|
|
|
|
|
- [简介](#简介)
|
|
|
|
|
- [项目结构](#项目结构)
|
|
|
|
|
- [组件](#组件)
|
|
|
|
|
- [1. `src` 目录](#1-src-目录)
|
|
|
|
|
- [2. `uiImageProcessor.py`](#2-uiImageProcessor.py)
|
|
|
|
|
- [3. `data` 目录](#3-data-目录)
|
|
|
|
|
- [安装与使用](#安装与使用)
|
|
|
|
|
- [环境准备](#环境准备)
|
|
|
|
|
- [启动软件](#启动软件)
|
|
|
|
|
- [虚拟环境](#虚拟环境)
|
|
|
|
|
- [功能说明](#功能说明)
|
|
|
|
|
- [项目成员](#项目成员)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 组件
|
|
|
|
|
|
|
|
|
|
### 1. `src` 目录
|
|
|
|
|
- **build_model.py**: 定义了基于 VGG19 的神经网络架构 (`get_style_model_and_loss`),用于风格迁移。
|
|
|
|
|
- **load_img.py**: 负责加载和预处理图像,为图像处理准备输入数据 (`load_img` 函数)。
|
|
|
|
|
- **loss.py**: 我们自定义了一些损失函数 (`Content_Loss`, `Gram`, `Style_Loss`),用于风格迁移过程中的损失计算。
|
|
|
|
|
- **run_code.py**: 实现了风格迁移的核心逻辑 (`run_style_transfer` 函数)。
|
|
|
|
|
- **start.py**: 功能为使用已实现的风格迁移算法将输入的内容图像转换成指定风格的图像,并保存结果。
|
|
|
|
|
|
|
|
|
|
### 2. `uiImageProcessor.py`
|
|
|
|
|
- 这里实现了图像处理软件的用户界面,提供了多种图像处理功能和交互方式,包括图像加载和保存、基本图像处理操作和风格迁移功能。
|
|
|
|
|
|
|
|
|
|
### 3. `data` 目录
|
|
|
|
|
- 包含了用于风格迁移的示例图像。
|
|
|
|
|
|
|
|
|
|
## 安装与使用
|
|
|
|
|
|
|
|
|
|
### 环境准备
|
|
|
|
|
- Python 3.12
|
|
|
|
|
- PyTorch, torchvision
|
|
|
|
|
- PyQt5, OpenCV
|
|
|
|
|
|
|
|
|
|
### 启动软件
|
|
|
|
|
1. 安装所需依赖项。
|
|
|
|
|
2. 运行以下命令来启动图像处理软件界面。
|
|
|
|
|
```bash
|
|
|
|
|
python src/uiImageProcessor.py
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 虚拟环境
|
|
|
|
|
1. 在项目根目录下,我们也有创建好的虚拟环境,可以直接用
|
|
|
|
|
2. 进入虚拟环境
|
|
|
|
|
|
|
|
|
|
**Mac:**
|
|
|
|
|
```bash
|
|
|
|
|
source venv/bin/activate
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Windows:**
|
|
|
|
|
```bash
|
|
|
|
|
python -m venv venv
|
|
|
|
|
```
|
|
|
|
|
```bash
|
|
|
|
|
.\venv\Scripts\activate.bat
|
|
|
|
|
```
|
|
|
|
|
```bash
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. 启动图像处理软件界面。
|
|
|
|
|
```bash
|
|
|
|
|
python src/uiImageProcessor.py
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 功能说明
|
|
|
|
|
- **图像加载和显示**: 支持打开常见图像格式 (`PNG`, `JPEG`, `BMP`),显示原始图像和处理后的图像。
|
|
|
|
|
- **基本图像处理**: 提供多种图像处理功能,如颜色空间转换 (`RGB` 到 `BGR`)、膨胀、腐蚀、图像修复等。
|
|
|
|
|
- **图像风格迁移**: 集成了基于深度学习的图像风格迁移功能,用户可以选择加载不同的风格参考图像进行风格转换。
|
|
|
|
|
|
|
|
|
|
## 项目成员
|
|
|
|
|
- 黄建镪 (学号: 12225101401)
|
|
|
|
|
- 郝天健 (学号: 10215101442)
|
|
|
|
|
- 卢羡倪 (学号: 12215101402)
|