智能证件照制作
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_783c668f/id-photo-plus。
技能介绍
解决什么问题
把一张普通正面照变成符合规格的证件照,通常需要在多个工具间来回切换——先调尺寸,再抠图换底色,最后核对打印规格。本技能将这套流程压缩到一个脚本里,输入一张 JPG 或 PNG 正面人像,输出符合一寸、二寸、护照、签证等标准尺寸和底色要求的证件照。
核心能力与工作流程
人脸检测:使用 OpenCV 自带的 Haar 级联模型 haarcascade_frontalface_default.xml 定位面部区域,取画面中最大的人脸作为裁剪基准。选择 Haar 而非 DNN 检测器,是因为它无需额外下载模型文件,部署简单,对正面证件照场景的检测率足够稳定。
智能裁剪:标准证件照要求头顶到画面顶部留出约 10–20% 空白,面部(发际线到下巴)占画面高度约 60–70%。脚本以人脸框为基准,按此比例计算裁剪窗口,并将人脸中心置于画面垂直方向约 65% 处,左右居中。
背景替换:以人脸框向外扩展约 2 倍作为前景矩形,调用 GrabCut 迭代 5 次分割人物轮廓。随后依次进行形态学开运算去除背景噪点、腐蚀 1–2 像素收缩边缘、高斯羽化过渡,最后用 numpy 索引填充目标背景色(白 #FFFFFF、蓝 #438EDB、红 #C62026)。
尺寸缩放:按目标规格的物理尺寸和 300 DPI 计算像素尺寸,例如一寸 25×35 mm 对应 295×413 px。脚本先按目标宽高比裁剪原图区域,再 resize 到标准像素,避免宽高比失真。
适用边界
- 仅处理单人正面免冠照片,多人合照无法使用
- 人脸严重侧转(超过 30°)或低头会导致 Haar 检测失败
- 不做磨皮、去斑、美白等美颜处理,仅完成裁剪和换底色
- 输入照片分辨率过低(人脸小于 100×100 px)时效果不可靠
- 头发边缘的细碎区域 GrabCut 可能误判为背景,可通过增大
--feather值改善,但不宜过大以免边缘模糊
使用场景
- 上传一张日常正面照,需要快速生成符合驾照、简历或普通证件要求的一寸或二寸标准证件照。
- 正在准备求职或毕业材料,需要把现有的生活照转换为蓝底或白底的简历和毕业证标准证件照。
- 准备出国旅游或留学,需要根据使馆要求制作符合美国签证或护照物理尺寸和像素标准的证件照。
- 手头只有一张红底或蓝底的旧证件照,现在需要按照新的要求一键替换为白底或其他颜色的底色。
适合人员
- 准备求职的应届毕业生,需要快速产出符合简历和毕业证要求的一寸、二寸标准证件照。
- 办理出入境业务的留学生或旅行者,需要根据美国签证和中国护照的规格生成对应的证件照。
- 处理员工入职材料的企业行政或HR,需要将员工的日常照片转换为红底、蓝底或白底的标准证件照。
- 搭建自动化图像处理流水线的研发工程师,需要在本地环境中集成人脸检测、抠图和背景替换功能。