介绍

该项目为一个人工智能抠图综合应用的项目。

先在互联网上收集印章图片,然后使用PaddleSeg进行标注,将标注好的图片导入PaddleX进行训练,最后将训练好的模型部署至PaddleHub平台,并将包装成印章抠图服务接口。

利用SpringBoot框架开发一个印章管理系统,用户可以在该系统中上传盖在白纸上的印章图片,系统会自动抠出印章图片,保存起来。用户需要盖章时,先从用章申请页面上传要盖章的pdf,然后选择一个已保存的印章,拖拽到需要盖的位置,并发起申请,审批人审批通过申请人后即可下载。

软件架构

整体架构图

安装教程

环境准备

  1. 下载所有资源:百度网盘https://pan.baidu.com/s/1WP2iLaM2yPn9IXokWrwg1g?pwd=ej2fopen in new window
  2. 安装jdk8;
  3. 安装rabbitmq,并启动,默认配置;
  4. 下载redis(3.2+),并启动,默认配置;
  5. 安装python(https://www.python.org/);
  6. 安装paddlehub(https://www.paddlepaddle.org.cn/hub);
  7. 如果想自己训练则需安装PaddleX,PaddleSeg等。

视频介绍

B站: https://www.bilibili.com/video/BV1ED4y1b71k/?vd_source=212908accf2c27b1b022c5c9eeadfbefopen in new window

环境安装(windows)

  1. 启动nacos,打开下载的资源文件,找到tool文件夹下的nacos,进入该文件夹,打开命令行输入
.\bin\startup.cmd -m standalone
  1. 启动mysql,找到tool文件加下的mysql,进入该文件夹,打开命令行输入
.\bin\mysqld.exe
  1. 启动minio,找到tool文件加下的minio,进入该文件夹,打开命令行输入
.\minio server .\file
  1. 导入配置,与nacos在同一个文件夹下: nacos_config.zip导入nacos配置
  2. 将模型部署至PaddleHub, 模型文件为purity-white-seal-segmentation.tar.gz,部署脚本为:
hub install purity-white-seal-segmentation.tar.gz
  1. 启动oauth服务,找到service文件夹下的auth,进入该文件夹的bin目录,双击start.bat
  2. 启动gateway服务,找到service文件夹下的gateway,进入该文件夹的bin目录,双击start.bat
  3. 启动portal服务,找到service文件夹下的portal,进入该文件夹的bin目录,双击start.bat
  4. 启动user服务,找到service文件夹下的user,进入该文件夹的bin目录,双击start.bat
  5. 启动seal服务,找到service文件夹下的seal,进入该文件夹的bin目录,双击start.bat
  6. 启动印章抠图接口,在service文件夹下打开命令行,输入
python purity-white-seal-segmentation-server.py
  1. 启动nginx,找到tool文件加下的nginx,进入该文件夹,双击nginx.exe

使用说明

  1. 创建一条印章数据 编辑印章
  2. 上传印章图片 上传印章图片
  3. 稍等片刻,等待抠图完成 印章列表印章预览
  4. 用章申请 申请用章
  5. 编辑申请 编辑申请
  6. 选择印章 选择印章
  7. 拖拽到指定位置,并缩放到适合的大小 拖拽到指定位置
  8. 发起申请 拖拽到指定位置
  9. 申请列表 申请列表
  10. 预览申请,未审批状态的pdf有水印 预览申请
  11. 用章审批 用章审批
  12. 审批详情 审批详情
  13. 审批结果查看 查看审批结果
  14. 下载审批后的文件 下载审批后的文件

相关资源

  1. 本套管理系统是基于我的Ukulele微服务开发框架,框架地址:https://gitee.com/timingtech/collections/192257open in new window 感兴趣的朋友可以移步至此仓库
  2. 前端仓库地址为:https://gitee.com/timingtech/Ukulele-Ng-Alainopen in new window 使用ukulele-seal-web分支

写在最后

如果该项目对您有用,请给一个star。