Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

证件照裁剪换底工具 (IDPhotoKit)

一款基于Python的证件照处理工具,支持智能裁剪、人脸自动居中、背景色一键替换等功能。

功能特性

  • 智能尺寸预设:支持1寸、2寸、小2寸、5寸、6寸等标准证件照尺寸,也可自定义尺寸
  • 两种裁剪模式
    • AI人脸自动居中裁剪:自动检测人脸并智能居中
    • 手动框选裁剪:自由拖动选择裁剪区域
  • 背景色替换:支持一键替换为标准证件照背景色(白色、红色、蓝色),边缘自然过渡
  • 多种输出格式:支持JPG和PNG格式输出,不修改原图
  • 完整日志记录:详细的操作日志,便于问题排查

安装说明

环境要求

  • Python 3.8+
  • pip (Python包管理器)

安装依赖

# 克隆或下载项目到本地
# 进入项目目录
cd IDPhotoKit

# 安装依赖
pip install -r requirements.txt

使用方法

启动程序

python id_photo_tool.py

操作流程

  1. 打开图片:点击"文件" -> "打开图片"或左侧控制面板的"打开图片"按钮
  2. 选择尺寸:在左侧控制面板选择预设尺寸或输入自定义尺寸
  3. 选择裁剪模式
    • 选择"AI人脸自动居中裁剪":程序会自动检测人脸并居中
    • 选择"手动框选裁剪":在图像显示区域拖动鼠标选择裁剪区域
  4. 执行裁剪:点击"执行裁剪"按钮
  5. 替换背景(可选):选择目标背景色,点击"替换背景"按钮
  6. 保存结果:点击"保存处理结果"按钮,选择保存路径和格式

依赖库

  • 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算法结合鲁棒分割方法,能够精确分割人物与背景,实现自然的边缘过渡效果。

图像处理流程

  1. 图像加载与预处理
  2. 人脸检测(自动模式)
  3. 裁剪区域计算
  4. 图像裁剪与缩放
  5. 背景分割与替换(可选)
  6. 结果保存

注意事项

  • 程序会在项目目录下自动创建outputlogs文件夹
  • 处理后的图片会保存为新文件,不会修改原始图片
  • 建议使用分辨率较高的图片以获得更好的处理效果
  • 人脸检测功能依赖于OpenCV的级联分类器,对于特殊光照或角度的图片可能检测不准确

许可证

MIT License

作者

证件照工具开发团队

更新日志

v1.0 (2026-04-28)

  • 初始版本发布
  • 实现证件照智能裁剪功能
  • 支持背景色一键替换
  • 添加AI人脸自动居中裁剪
  • 提供手动框选裁剪模式
  • 支持多种标准证件照尺寸
  • 添加详细的日志记录功能

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages