# ukulele-seal-service **Repository Path**: timingtech/ukulele-seal-service ## Basic Information - **Project Name**: ukulele-seal-service - **Description**: 该项目为一个综合应用的项目。利用paddleSeg平台进行印章抠图训练,并将训练完成后生成的模型文件部署成印章抠图服务。最后利用SpringBoot框架开发一个印章管理系统,用户可以在该系统中上传盖在白纸上的印章图片,系统会自动抠出印章图片,保存起来。用户需要盖章时,先从用章申请页面上传要盖章的pdf,然后选择一个已保存的印章,拖拽到需要盖的位置,并发起申请,审批人审批通过申请人后即可下载。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: http://timingtech.top/ - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2022-10-22 - **Last Updated**: 2024-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ukulele-seal-service ## 介绍 该项目为一个人工智能抠图综合应用的项目。 先在互联网上收集印章图片,然后使用PaddleSeg进行标注,将标注好的图片导入PaddleX进行训练,最后将训练好的模型部署至PaddleHub平台,并将包装成印章抠图服务接口。 利用SpringBoot框架开发一个印章管理系统,用户可以在该系统中上传盖在白纸上的印章图片,系统会自动抠出印章图片,保存起来。用户需要盖章时,先从用章申请页面上传要盖章的pdf,然后选择一个已保存的印章,拖拽到需要盖的位置,并发起申请,审批人审批通过申请人后即可下载。 ## 软件架构 ![整体架构图](docs/frame.png) ## 安装教程 ### 环境准备 1. 下载所有资源:百度网盘(链接:[https://pan.baidu.com/s/1WP2iLaM2yPn9IXokWrwg1g?pwd=ej2f](https://pan.baidu.com/s/1WP2iLaM2yPn9IXokWrwg1g?pwd=ej2f)); 2. 安装jdk8; 3. 安装rabbitmq,并启动,默认配置; 4. 下载redis(3.2+),并启动,默认配置; 5. 安装python([https://www.python.org/](https://www.python.org/)); 6. 安装paddlehub([https://www.paddlepaddle.org.cn/hub](https://www.paddlepaddle.org.cn/hub)); 7. 如果想自己训练则需安装PaddleX,PaddleSeg等。 ### 视频介绍 B站: [https://www.bilibili.com/video/BV1ED4y1b71k/?vd_source=212908accf2c27b1b022c5c9eeadfbef](https://www.bilibili.com/video/BV1ED4y1b71k/?vd_source=212908accf2c27b1b022c5c9eeadfbef) ### 环境安装(windows) 1. 启动nacos,打开下载的资源文件,找到tool文件夹下的nacos,进入该文件夹,打开命令行输入 ```shell .\bin\startup.cmd -m standalone ``` 2. 启动mysql,找到tool文件加下的mysql,进入该文件夹,打开命令行输入 ```shell .\bin\mysqld.exe ``` 3. 启动minio,找到tool文件加下的minio,进入该文件夹,打开命令行输入 ```shell .\minio server .\file ``` 4. 打入配置,与nacos在同一个文件夹下: **nacos_config.zip** ![导入nacos配置](docs/nacos-import.PNG) 5. 将模型部署至PaddleHub, 模型文件为**purity-white-seal-segmentation.tar.gz**,部署脚本为: ```shell hub install purity-white-seal-segmentation.tar.gz ``` 6. 启动oauth服务,找到service文件夹下的auth,进入该文件夹的bin目录,双击**start.bat** 7. 启动gateway服务,找到service文件夹下的gateway,进入该文件夹的bin目录,双击**start.bat** 8. 启动portal服务,找到service文件夹下的portal,进入该文件夹的bin目录,双击**start.bat** 9. 启动user服务,找到service文件夹下的user,进入该文件夹的bin目录,双击**start.bat** 10. 启动seal服务,找到service文件夹下的seal,进入该文件夹的bin目录,双击**start.bat** 11. 启动印章抠图接口,在service文件夹下打开命令行,输入 ```shell python purity-white-seal-segmentation-server.py ``` 13. 启动nginx,找到tool文件加下的nginx,进入该文件夹,双击**nginx.exe** #### 使用说明 1. 创建一条印章数据 ![编辑印章](docs/seal-edit.png) 2. 上传印章图片 ![上传印章图片](docs/seal-select.PNG) 3. 稍等片刻,等待抠图完成 ![印章列表](docs/seal-list.png) ![印章预览](docs/seal-preview.PNG) 4. 用章申请 ![申请用章](docs/seal-apply-add.PNG) 5. 编辑申请 ![编辑申请](docs/seal-apply-pdf.PNG) 6. 选择印章 ![选择印章](docs/seal-apply-seal.PNG) 7. 拖拽到指定位置,并缩放到适合的大小 ![拖拽到指定位置](docs/seal-apply-drag.PNG) 8. 发起申请 ![拖拽到指定位置](docs/seal-apply-apply.PNG) 9. 申请列表 ![申请列表](docs/seal-apply-list.PNG) 10. 预览申请,未审批状态的pdf有水印 ![预览申请](docs/seal-apply-result-preview.PNG) 11. 用章审批 ![用章审批](docs/seal-approval-list.PNG) 12. 审批详情 ![审批详情](docs/seal-approval-detail.PNG) 13. 审批结果查看 ![查看审批结果](docs/seal-approval-result-preview.PNG) 14. 下载审批后的文件 ![下载审批后的文件](docs/seal-pdf-download.PNG) ## 相关资源 1. 本套管理系统是基于我的Ukulele微服务开发框架,框架地址:[https://gitee.com/timingtech/collections/192257](https://gitee.com/timingtech/collections/192257) 感兴趣的朋友可以移步至此仓库 2. 前端仓库地址为:[https://gitee.com/timingtech/Ukulele-Ng-Alain](https://gitee.com/timingtech/Ukulele-Ng-Alain) 使用**ukulele-seal-web**分支 ## 写在最后 如果该项目对您有用,请给一个star。