综合介绍
HivisionIDPhotos 是一款开源的轻量级 AI 证件照制作工具,能够智能识别用户拍照场景并进行抠图,生成符合多种规格的标准证件照。该工具支持自定义背景色和尺寸,未来还将推出美颜和智能换正装功能。用户可以通过 Docker 部署,轻松搭建本地服务,适用于个人和企业的证件照制作需求。
功能列表
- 轻量级抠图:利用高效的 AI 算法,精确抠取人像,生成透明背景图像。
- 多尺寸证件照生成:支持护照照、签证照等多种规格的证件照生成。
- 六寸排版照生成:将多张证件照排版成标准的六寸照片,方便打印和批量制作。
- 智能换背景:支持为证件照增加或更换背景颜色。
- API 服务:基于 FastAPI 的 API 服务,方便开发者集成证件照功能。
- Docker 支持:快速搭建和运行服务,简化安装过程,提高系统兼容性。
- 实时 Web 交互:通过 Gradio Demo 提供的本地 Web 页面,在线操作证件照生成过程。
使用帮助
安装与环境配置
- 克隆项目:
git clone https://github.com/Zeyi-Lin/HivisionIDPhotos.git cd HivisionIDPhotos
- 安装依赖环境:
pip install -r requirements.txt
- 下载模型文件: 将预训练模型文件
hivision_modnet.onnx
下载并存放到项目根目录下。
运行本地服务
- 启动 Gradio Demo:
python app.py
运行程序后,将生成一个本地网页,用户可以在页面中完成证件照的生成和调整。
- 部署 API 服务:
python deploy_api.py
通过 FastAPI 部署 API 服务,用户可以通过 API 实现证件照生成和背景修改等操作。
使用 API 服务
- 发送证件照制作请求:
import requests url = "http://127.0.0.1:8080" files = {'file': open('test.jpg', 'rb')} response = requests.post(f"{url}/generate_idphoto", files=files) with open('idphoto.png', 'wb') as f: f.write(response.content)
- 增加底色:
import requests url = "http://127.0.0.1:8080" files = {'file': open('idphoto.png', 'rb')} data = {'color': '(0,0,0)'} response = requests.post(f"{url}/add_background", files=files, data=data) with open('idphoto_ab.jpg', 'wb') as f: f.write(response.content)
- 生成六寸排版照:
import requests url = "http://127.0.0.1:8080" files = {'file': open('idphoto_ab.jpg', 'rb')} response = requests.post(f"{url}/generate_layout_photos", files=files) with open('idphoto_layout.jpg', 'wb') as f: f.write(response.content)
Docker 部署
- 构建 Docker 镜像:
docker build -t hivisionidphotos .
- 运行 Docker 容器:
docker run -p 8080:8080 hivisionidphotos