LiYing:完全离线的证件照自动化处理神器
还在为证件照处理流程繁琐而烦恼?这款开源工具让你一键完成背景替换、尺寸裁切和排版输出,无需联网即可运行!
为什么你需要LiYing?
作为经常需要处理证件照的用户,你一定经历过这些困扰:
-
手动抠图换背景耗时耗力 -
不同尺寸证件照裁剪标准复杂 -
照相馆专业软件价格昂贵且需联网 -
隐私照片上传云端存在安全隐患
LiYing正是为解决这些问题而生。这款开源工具能自动完成从原始照片到排版相纸的全流程处理,所有操作都在本地进行,彻底保护你的隐私安全。下面我将带你全面了解这款革命性的证件照处理工具。
一、核心功能解析
1.1 全流程自动化处理
LiYing的工作流程科学而高效:
graph LR
A[原始照片] --> B[人体/人脸识别]
B --> C[角度自动校正]
C --> D[背景色替换]
D --> E[证件照尺寸裁切]
E --> F[相纸自动排版]
1.2 关键技术亮点
-
精准识别系统
双模型协同工作确保识别准确率:-
YuNet人脸检测模型(精度98.7%) -
YOLOv8人体姿态识别模型(实时检测15个关键点)
-
-
智能校正引擎
自动检测头部倾斜角度并通过仿射变换校正,误差控制在±1.5°内 -
背景替换技术
采用BRIA AI的RMBG模型实现发丝级精抠,支持:-
纯色背景(红/白/蓝三色为主) -
渐变背景 -
自定义RGB值
-
1.3 完全离线运行
隐私保护的终极方案:
✅ 所有图像处理在本地完成
✅ 无需互联网连接
✅ 不收集任何用户数据
✅ 支持Windows 7 SP1及以上系统
二、效果对比展示
处理阶段 | 示例1 | 示例2 | 示例3 |
---|---|---|---|
原始照片 | ![]() |
![]() |
![]() |
排版效果 | 1寸-5寸相纸(3×3)![]() |
2寸-5寸相纸(2×2)![]() |
1寸-6寸相纸(4×2)![]() |
重要提示:输入图片应为符合要求的单人肖像照。复杂场景照片可能导致处理异常,这是正常现象。
三、零基础入门指南
3.1 Windows用户极速体验
-
访问发布页面下载整合包 -
下载必需模型(百度网盘或Google Drive) -
将模型文件放入 LiYing/src/model
目录 -
运行:
cd LiYing
run.bat ./images/your_photo.jpg
3.2 开发者从源码构建
# 克隆仓库
git clone https://github.com/aoguai/LiYing
cd LiYing
# 安装依赖
pip install -r requirements.txt
# Windows 7用户特别注意
pip install onnxruntime==1.14.0 orjson==3.10.7 gradio==4.44.1
3.3 模型部署指南
用途 | 模型名称 | 下载源 | 存放路径 |
---|---|---|---|
人脸识别 | Yunnet | OpenCV Zoo | src/model |
背景替换 | RMBG-1.4/2.0 | BRIA AI | src/model |
人体识别 | yolov8n-pose | Ultralytics | 需转为ONNX格式 |
模型转换技巧:使用官方工具将YOLOv8模型转为ONNX格式
from ultralytics import YOLO model = YOLO('yolov8n-pose.pt') model.export(format='onnx')
四、全方位使用手册
4.1 命令行模式详解
python main.py [选项] 图片路径
常用参数组合示例:
# 生成蓝色背景的2寸证件照并排版到5寸相纸
python main.py photo.jpg -b 0,0,255 -p "2寸" -ps "5寸"
# 仅进行排版不换背景
python main.py photo.jpg -lo
# 控制输出文件大小在100-150KB之间
python main.py photo.jpg -szr 100,150
完整参数表:
参数 | 缩写 | 功能说明 | 示例值 |
---|---|---|---|
--photo-type |
-p |
证件照类型 | “1寸”、”2寸”或”宽x高” |
--photo-sheet-size |
-ps |
相纸尺寸 | “5寸”、”6寸” |
--rgb-list |
-b |
背景RGB值 | “255,255,255” |
--sheet-rows |
-sr |
排版行数 | 3 |
--sheet-cols |
-sc |
排版列数 | 3 |
--target-size |
-ts |
目标文件大小(KB) | 150 |
--size-range |
-szr |
文件大小范围 | “100,200” |
--add-crop-lines |
-al |
添加裁切线 | 无需值 |
4.2 可视化Web界面
# 启动Web服务
cd LiYing/src/webui
python app.py
# 浏览器访问
http://127.0.0.1:7860
Web界面优势:
-
实时预览处理效果 -
拖拽上传图片 -
滑块调整参数 -
一键导出排版结果
4.3 配置文件定制
在data
目录中自定义:
-
尺寸配置: size_XX.csv
类型,宽度(mm),高度(mm),分辨率(dpi)
1寸,25,35,300
2寸,35,49,300
...
-
颜色配置: color_XX.csv
名称,R,G,B
纯白色,255,255,255
天蓝色,135,206,235
...
五、常见问题解决方案
Q1:处理时提示缺少模型文件怎么办?
确保所有模型文件已下载并放置在正确路径:
YuNet: src/model/face_detection_yunet_2023mar.onnx
RMBG: src/model/rmbg_model.onnx
YOLOv8: src/model/yolov8n-pose.onnx
Q2:Windows系统运行报错如何处理?
逐步排查方案:
-
安装最新 VC++运行库 -
配置pngquant环境: -
将pngquant.exe放入 src
或src/ext
目录 -
或添加系统环境变量
-
-
检查系统版本:仅支持Windows 7 SP1及以上
Q3:如何处理非标准尺寸证件照?
在命令行中使用自定义尺寸:
# 生成35x45mm的特殊尺寸证件照
python main.py photo.jpg -p "35,45"
Q4:能批量处理多张照片吗?
目前需要单张处理,但可通过脚本实现批量:
@echo off
for %%i in (*.jpg) do (
python main.py "%%i" -p "1寸" -ps "6寸"
)
六、版本演进与更新
2025年重大更新
-
智能文件压缩: # 新增大小控制参数 --target-size 150 # 目标150KB --size-range "100,200" # 保持在100-200KB之间
-
模型升级: -
支持RMBG-2.0更高精度抠图 -
兼容YOLOv8最新版本
-
-
部署优化: -
自动构建CLI/WEBUI版本 -
简化模型路径配置
-
历史版本里程碑
-
2025/02/07: -
首推WebUI可视化界面 -
INI配置改为CSV格式 -
增加裁剪线选项
-
-
2024/08/06: -
支持直接输入像素尺寸 -
优化多语言兼容性
-
七、技术生态与致谢
核心依赖项目
组件 | 项目 | 许可协议 |
---|---|---|
图像压缩 | AGPicCompress | MIT |
JPEG优化 | mozjpeg | BSD |
PNG优化 | pngquant | GPL |
人脸检测 | YuNet | BSD |
特别鸣谢
“LiYing的开发初衷是帮助我的父母简化照相馆工作流程。感谢他们三十年如一日的坚持,启发我创建这个工具。”
—— 项目作者 aoguai
八、开源与贡献
许可协议
本项目采用 AGPL-3.0许可证,完整文本见LICENSE文件。核心条款摘要:
-
允许商业使用 -
修改后必须开源 -
保留版权声明 -
提供源代码
参与贡献
欢迎通过以下方式参与:
-
提交代码修复(详见贡献指南) -
完善多语言文档 -
测试反馈问题 -
开发新功能模块
项目星标增长史:
九、为什么选择LiYing?
与传统方案对比
特性 | 照相馆软件 | 在线工具 | LiYing |
---|---|---|---|
隐私安全 | ★★★☆☆ | ★☆☆☆☆ | ★★★★★ |
处理精度 | ★★★★☆ | ★★☆☆☆ | ★★★★☆ |
定制能力 | ★★☆☆☆ | ★☆☆☆☆ | ★★★★★ |
成本 | ¥500-3000/年 | ¥10-50/次 | 完全免费 |
离线使用 | ❌ | ❌ | ✅ |
适用场景推荐
-
个人用户:家庭证件照自助处理 -
照相馆:提升标准化工作效率 -
学校/企业:批量制作工作证/学生证 -
开发者:图像处理技术研究平台
行动起来!
立即体验这款革命性的证件照处理工具:
技术不应是门槛,而是解决问题的桥梁。LiYing让专业级证件照处理走进每个人的电脑,这正是开源精神的真谛。