Skip to content

This is the final project for the Digital Image Processing course at ECNU. The front-end is built using Vue.js and axios, while the back-end utilizes the Flask framework in Python. Users can upload 2 images (style/content) to generate stylized image.

License

Notifications You must be signed in to change notification settings

iMMIQ/style-transfer-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

风格转换应用

该项目是一个风格转换应用,使用Vue.js和axios构建前端,后端使用Python的Flask框架。该应用允许用户上传两张图片,一张作为风格图片,另一张作为内容图片,并生成一张风格转换后的图片。

依赖安装

在运行该应用程序之前,请确保已安装以下软件和库:

  • Python 3.x
  • PyTorch (仅在1.11版本测试)
  • torchvision
  • Flask
  • flask_cors

你可以使用pip命令安装它们:

pip install torch torchvision Flask flask_cors tqdm

安装前端依赖:

cd src/static
npm install

运行应用程序

要运行该应用程序,请按照以下步骤操作:

  1. 在应用程序所在的目录中打开终端或命令提示符,确保已下载好相关u数据集及模型。
  2. 运行以下命令启动应用程序:
python app.py
  1. 应用程序将在本地主机上的默认端口(通常是http://127.0.0.1:5000/)上启动。

  2. 安装前端依赖:

cd static
npm install
  1. 启动前端应用:
npm run serve

使用方法

  1. 打开浏览器并访问前端应用地址:http://localhost:8080/
  2. 页面会显示一个标题和两个图片上传框,分别对应风格图片和内容图片。
  3. 点击第一个图片上传框,选择一个图片作为风格图片,支持JPEG和PNG格式。
  4. 点击第二个图片上传框,选择一个图片作为内容图片,同样支持JPEG和PNG格式。
  5. 在选择完两张图片后,点击“生成”按钮。
  6. 等待一段时间,风格转换后的图片会在页面中显示出来。

注意事项

  • 确保您的电脑上已经安装了Node.js和Python。
  • 该应用仅支持JPEG和PNG格式的图片。
  • 图片上传可能需要一定时间,取决于图片大小和网络速度。
  • 风格转换后的图片会覆盖之前生成的结果,刷新页面将清除之前的结果。

技术实现

  • 前端使用Vue.js框架构建,通过axios进行与后端的HTTP通信。
  • 后端使用Python的Flask框架,接收前端上传的图片,进行风格转换并返回结果。
  • 风格转换算法可能需要一定时间,请耐心等待。

下载链接

训练模型

  1. 环境设置

要运行该代码,你需要满足以下环境要求:

  • Python 3.6+
  • PyTorch (仅在1.11下测试)
  • torchvision
  • numpy
  • OpenCV
  • tqdm
  • matplotlib
  • horovod

可以使用以下命令安装所需的依赖项:

pip install torch torchvision numpy opencv-python tqdm matplotlib horovod
  1. 将内容图像和风格图像分别放置文件夹中,参考注释修改train.py中的数据集路径。

  2. 运行以下命令开始训练模型:

python train.py

训练过程将持续多个周期(epochs),可以在代码中设置训练参数来控制训练的细节。

  1. 训练完成后,模型将被保存在以下路径:
  • MetaNet模型:'/root/autodl-tmp/improve/models/model_name.pth'
  • TransformNet模型:'/root/autodl-tmp/improve/models/model_name_transform_net.pth'

请将上述路径中的'model_name'替换为你自己的模型名称。

About

This is the final project for the Digital Image Processing course at ECNU. The front-end is built using Vue.js and axios, while the back-end utilizes the Flask framework in Python. Users can upload 2 images (style/content) to generate stylized image.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published