一款基于Python的证件照处理工具,支持智能裁剪、人脸自动居中、背景色一键替换等功能。
- 智能尺寸预设:支持1寸、2寸、小2寸、5寸、6寸等标准证件照尺寸,也可自定义尺寸
- 两种裁剪模式:
- AI人脸自动居中裁剪:自动检测人脸并智能居中
- 手动框选裁剪:自由拖动选择裁剪区域
- 背景色替换:支持一键替换为标准证件照背景色(白色、红色、蓝色),边缘自然过渡
- 多种输出格式:支持JPG和PNG格式输出,不修改原图
- 完整日志记录:详细的操作日志,便于问题排查
- Python 3.8+
- pip (Python包管理器)
# 克隆或下载项目到本地
# 进入项目目录
cd IDPhotoKit
# 安装依赖
pip install -r requirements.txtpython id_photo_tool.py- 打开图片:点击"文件" -> "打开图片"或左侧控制面板的"打开图片"按钮
- 选择尺寸:在左侧控制面板选择预设尺寸或输入自定义尺寸
- 选择裁剪模式:
- 选择"AI人脸自动居中裁剪":程序会自动检测人脸并居中
- 选择"手动框选裁剪":在图像显示区域拖动鼠标选择裁剪区域
- 执行裁剪:点击"执行裁剪"按钮
- 替换背景(可选):选择目标背景色,点击"替换背景"按钮
- 保存结果:点击"保存处理结果"按钮,选择保存路径和格式
- Pillow (>=10.0.0):Python图像处理库,用于图像的读取、裁剪、保存等操作
- opencv-python (>=4.8.0):计算机视觉库,用于人脸检测和图像分割
- numpy (>=1.24.0):数值计算库,用于图像数据的矩阵操作
IDPhotoKit/
├── id_photo_tool.py # 主程序文件
├── requirements.txt # 依赖列表
├── README.md # 项目说明文档
├── logs/ # 日志文件目录
│ └── id_photo_*.log
└── output/ # 输出文件目录(程序自动创建)
使用OpenCV的Haar级联分类器进行人脸检测,能够自动识别图像中的人脸位置,用于智能裁剪。
采用GrabCut算法结合鲁棒分割方法,能够精确分割人物与背景,实现自然的边缘过渡效果。
- 图像加载与预处理
- 人脸检测(自动模式)
- 裁剪区域计算
- 图像裁剪与缩放
- 背景分割与替换(可选)
- 结果保存
- 程序会在项目目录下自动创建
output和logs文件夹 - 处理后的图片会保存为新文件,不会修改原始图片
- 建议使用分辨率较高的图片以获得更好的处理效果
- 人脸检测功能依赖于OpenCV的级联分类器,对于特殊光照或角度的图片可能检测不准确
MIT License
证件照工具开发团队
- 初始版本发布
- 实现证件照智能裁剪功能
- 支持背景色一键替换
- 添加AI人脸自动居中裁剪
- 提供手动框选裁剪模式
- 支持多种标准证件照尺寸
- 添加详细的日志记录功能