证件照制作

一寸/二寸/白底/蓝底/红底

414 次访问

证件照制作

📷
拖入或点击选择正面照
建议白色/浅色背景免冠正面照 · 可生成单张 + 打印排版

使用说明

· 300 DPI:本工具按打印标准 300 DPI 计算像素(25×35 mm → 295×413 px)

· 背景替换:通过亮度阈值识别背景像素并替换为目标颜色,仅适合干净浅色背景

· 打印排版:自动排在 6 寸相纸(102×152 mm,1200×1800 px @300DPI),可在冲印店打印

· 建议:拍照时穿深色衣服 + 白色/浅蓝纯色背景 + 充足均匀光线,效果最佳

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

🎓

应届生求职报名

应届毕业生在秋招/春招季,需要同时投递多家国企、事业单位、银行,每家对照片底色(白底/蓝底/红底)和尺寸(一寸/二寸)要求不同。去照相馆重拍一次至少 30 元且要排队。本工具直接上传已有照片,一键切换底色和尺寸,1 分钟产出合规电子照,省下多次跑照相馆的时间和费用。

📄

公务员考试报名

国考/省考报名系统对照片有严格规范:白底、尺寸 295×413 像素(一寸)、文件大小 10-100KB。很多考生用手机自拍后,要么底色不对,要么文件太大无法上传。本工具提供精确裁剪和底色替换功能,还能压缩至指定文件大小,确保一次通过审核,避免因照片不合格错过报名截止日期。

🏢

职场入职材料

新员工入职时,HR 通常要求提供白底一寸电子照用于工牌、通讯录、门禁系统。如果手头只有蓝底或红底的旧照片,临时去拍又来不及。本工具在线替换底色为纯白,同时保持面部光照自然,不产生白边或色差,生成的电子照可直接发给 HR 使用。

🛂

护照/签证办理

办理护照、港澳通行证、部分国家签证时,要求提供白底或蓝底的 33×48mm(小二寸)照片,且头部比例必须严格符合标准。照相馆拍一套要 50-80 元,且不一定当场拿到电子版。本工具支持自定义裁剪尺寸(如 33×48mm),并提供标准头部比例参考线,在家拍好后直接上传处理,打印后即可使用。

📱

社保证件更新

社保卡、医保卡、居住证等证件到期换发时,通常需要提供近期白底一寸照片。很多人在手机里只有多年前的旧照片,或近期自拍照背景杂乱。本工具可对自拍照进行背景去除并替换为纯白底,同时调整肤色和亮度,使照片符合证件照规范,无需专门去照相馆重拍。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A (改图鸭)传统方法 (照相馆/PS)
数据隐私纯浏览器处理,不上传服务器上传到云端处理照片交付给工作人员,存在隐私泄露风险
处理速度1 秒内完成5-10 秒(含上传下载)数小时(拍照、修图、取片)
离线可用支持(浏览器本地运行)不支持(必须联网)不适用(需到店)
收费模式完全免费,无水印部分功能免费,导出高清图需付费单次收费 15-50 元
操作门槛上传即出图,无学习成本需选择尺寸、背景色等参数需掌握 PS 或依赖修图师沟通
背景色替换自动识别并替换(红/蓝/白)自动替换,但复杂背景易出错手动抠图,精度高但耗时
尺寸规格固定一寸/二寸/小一寸等标准规格支持自定义尺寸可任意定制,但需明确告知尺寸

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
一寸 | 白底 | 295×413px295×413px 白底一寸证件照(JPG,约50KB)典型场景:最常用的一寸白底规格
二寸 | 蓝底 | 413×579px413×579px 蓝底二寸证件照(JPG,约70KB)典型场景:简历/考试报名常用二寸蓝底
一寸 | 红底 | 295×413px295×413px 红底一寸证件照(JPG,约50KB)典型场景:结婚证/保险等特殊用途红底
二寸 | 白底 | 413×579px413×579px 白底二寸证件照(JPG,约70KB)边界 case:护照/签证常用二寸白底
一寸 | 蓝底 | 295×413px295×413px 蓝底一寸证件照(JPG,约50KB)边界 case:学生证/工作证常见蓝底一寸
二寸 | 红底 | 413×579px413×579px 红底二寸证件照(JPG,约70KB)边界 case:部分证书/登记表要求红底二寸
一寸 | 白底 | 300×400px(非标准比例)提示:输入尺寸非标准一寸比例(标准为5:7),已自动裁剪为295×413px易错 case:用户输入非标准尺寸,工具自动校正
二寸 | 蓝底 | 413×579px | 透明背景PNG上传413×579px 蓝底二寸证件照(PNG,约80KB)易错 case:透明背景上传后自动填充指定底色

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 上传了带透明通道的 PNG 后背景出现杂色

错误
上传一张带透明背景的 PNG 头像,期望自动替换为白底,结果边缘出现灰边或白边
修复
上传前先用图片编辑软件将透明区域填充为纯色(如白色),或选择「强制不透明」选项

证件照工具通常对 RGBA 图片做简单的像素替换,半透明像素(0<alpha<255)混合后会产生过渡色,导致边缘不干净

2. 上传了超过 20MB 的原图导致处理超时

错误
直接上传一张 30MB 的单反拍摄 RAW 格式或超高分辨率 JPG
修复
先用图片压缩工具将图片压缩到 5MB 以内,或降低分辨率至 2000x3000 以下再上传

浏览器和服务端对文件大小有限制(通常 10-20MB),超大文件会导致上传失败、内存溢出或处理超时

3. 用手机竖屏自拍照直接生成一寸照,头部比例不对

错误
用手机前置摄像头拍一张竖屏全身照,直接上传期望自动裁剪成一寸照
修复
拍摄时让头部占据画面约 1/2 到 2/3,或先手动裁剪到头部居中、下巴到头顶约占画面 60%

自动裁剪算法依赖人脸检测框,全身照中脸部像素太少,检测框定位不准会导致裁剪后头部过大或过小

4. 选择了「红底」但上传的图片本身已有红色背景

错误
上传一张原本就是红底的证件照,选择「替换为红底」,结果背景没变化或出现奇怪色块
修复
如果原图背景与目标颜色相近,先选择「白底」或「蓝底」做一次替换,再二次处理为目标颜色

颜色替换算法基于色差阈值,原图背景色与目标色重叠时无法区分前景和背景,导致替换效果差

5. 上传了多人合影,工具只保留了一个人

错误
上传一张两人合影,期望生成两人的证件照,结果只输出一个人的头像
修复
先使用截图工具将合影中每个人的头像单独裁剪为独立图片,再分别上传处理

证件照工具默认只处理画面中面积最大的一个人脸,多人场景无法自动区分主次,会忽略其他人

6. 期望生成「小二寸」但选择了「一寸」然后手动缩放

错误
选择「一寸」(25x35mm)生成后,用图片缩放工具直接拉大到「小二寸」(35x45mm)
修复
直接选择工具提供的「小二寸」选项,或手动输入精确的 35x45mm 尺寸参数

直接缩放会改变像素密度和面部比例,而证件照有严格的头部占比要求(通常 50-70%),缩放后不符合标准

7. 上传了扫描件或翻拍件,背景有纹理导致替换失败

错误
上传一张纸质照片的翻拍件,背景有纸张纹理或阴影,期望自动替换为纯色背景
修复
先用图片编辑软件(如 Photoshop 的「内容识别填充」)去除纹理和阴影,或选择「高精度模式」处理

颜色替换算法假设背景是均匀色块,纹理和渐变会导致误判为前景,产生斑驳或残留背景

8. 图片中包含眼镜反光或刘海遮挡眼睛,导致人脸检测失败

错误
上传一张眼镜片严重反光、或刘海完全遮住一只眼睛的照片
修复
摘下眼镜拍摄,或将刘海拨开露出完整眉毛和眼睛;若必须戴眼镜,选择无反光的镜片

人脸检测算法依赖眼睛、眉毛、鼻子的轮廓特征,关键部位被遮挡会导致检测框偏移或无法识别

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

W = H × R

变量说明

  • W — 证件照宽度(像素)
  • H — 证件照高度(像素)
  • R — 宽高比(标准值:一寸 0.714,二寸 0.714)

示例

制作一寸证件照,标准尺寸 25mm × 35mm,分辨率 300dpi。换算像素:宽 = 25/25.4×300 ≈ 295px,高 = 35/25.4×300 ≈ 413px。宽高比 R = 295/413 ≈ 0.714。若用户上传照片宽 600px,高 800px,则工具自动裁剪至 600×840(保持 0.714 比例)或缩放至 295×413。

适用范围

适用于中国标准一寸(25×35mm)和二寸(35×49mm)证件照,分辨率 300dpi。其他尺寸(如签证照、驾照照)需按对应标准调整 R 值。数据来源:GA 461-2004《居民身份证制证用数字相片技术要求》及公安部标准。

原理图

上传照片手机/电脑本地图片自动裁剪人脸检测+尺寸对齐更换背景白/蓝/红底一键切换导出JPG/PNG服务端处理流程(BE)1. 接收上传 → 2. FFmpeg 解码图片 → 3. 人脸检测(OpenCV)4. 按一寸/二寸标准尺寸裁剪 → 5. 背景色替换(色键+边缘羽化)6. 压缩编码 → 7. 返回下载链接(图片不落盘,处理完即删)
用户输入 本地处理 输出结果 导出

开发者集成

3 种主流语言 · 复制即用

from PIL import Image, ImageColor
import numpy as np

# 加载证件照,替换为实际路径
img = Image.open("input.jpg").convert("RGBA")

# 定义目标底色(蓝底 #438EDB)
target_color = ImageColor.getcolor("#438EDB", "RGB")

# 转换为 numpy 数组处理
data = np.array(img)
r, g, b, a = data[:,:,0], data[:,:,1], data[:,:,2], data[:,:,3]

# 简单背景替换:将原白色/浅色背景替换为目标色
# 假设原背景为白色区域(RGB 各 > 200)
mask = (r > 200) & (g > 200) & (b > 200)
data[mask, 0] = target_color[0]
data[mask, 1] = target_color[1]
data[mask, 2] = target_color[2]

# 保存结果
result = Image.fromarray(data, "RGBA")
result.save("output_blue.jpg")
print("背景已替换为蓝色")
package main

import (
	"fmt"
	"image"
	"image/color"
	"image/jpeg"
	"os"
)

func main() {
	// 打开输入图片
	f, _ := os.Open("input.jpg")
	defer f.Close()
	src, _, _ := image.Decode(f)

	bounds := src.Bounds()
	dst := image.NewRGBA(bounds)

	// 目标蓝色背景
	target := color.RGBA{67, 142, 219, 255}

	for y := bounds.Min.Y; y < bounds.Max.Y; y++ {
		for x := bounds.Min.X; x < bounds.Max.X; x++ {
			r, g, b, _ := src.At(x, y).RGBA()
			// 简单判断:白色区域替换
			if r>>8 > 200 && g>>8 > 200 && b>>8 > 200 {
				dst.Set(x, y, target)
			} else {
				dst.Set(x, y, src.At(x, y))
			}
		}
	}

	out, _ := os.Create("output_blue.jpg")
	defer out.Close()
	jpeg.Encode(out, dst, nil)
	fmt.Println("背景已替换为蓝色")
}
const sharp = require('sharp');

async function replaceBackground() {
  const image = sharp('input.jpg');
  const { data, info } = await image.raw().toBuffer({ resolveWithObject: true });

  // 目标蓝色 (R=67, G=142, B=219)
  const targetR = 67, targetG = 142, targetB = 219;

  for (let i = 0; i < data.length; i += 3) {
    const r = data[i];
    const g = data[i + 1];
    const b = data[i + 2];
    // 简单白色背景替换
    if (r > 200 && g > 200 && b > 200) {
      data[i] = targetR;
      data[i + 1] = targetG;
      data[i + 2] = targetB;
    }
  }

  await sharp(data, { raw: { width: info.width, height: info.height, channels: 3 } })
    .jpeg()
    .toFile('output_blue.jpg');
  console.log('背景已替换为蓝色');
}

replaceBackground().catch(console.error);

常见问题

8 个高频疑问

在线做证件照,上传的照片要多大?尺寸不对怎么办?
上传的照片建议在 100KB-5MB 之间,格式为 JPG 或 PNG。工具会自动检测照片中的人脸并裁剪成标准的一寸(25×35mm)或二寸(35×49mm)尺寸。如果照片比例与证件照相差太大(比如全身照),工具会按人脸区域自动居中裁剪,但建议上传半身正面照效果最好。如果上传后提示“未检测到人脸”,请换一张光线均匀、五官清晰的照片。
为什么我换好底色的照片,边缘看起来有点毛刺或颜色不自然?
这是自动抠图的正常现象,尤其当原照片背景颜色与目标底色接近(比如浅蓝底换白底),或头发丝边缘较细时容易出现。工具用 AI 模型做像素级分割,对复杂边缘(碎发、眼镜框)的处理精度约 95%,极细发丝可能残留原背景色。建议上传纯色背景、光线均匀的照片,减少边缘残留。如果对边缘不满意,可以手动微调或重拍一张背景简单的照片。
做好的证件照能直接打印吗?打印出来会不会模糊?
可以。工具生成的是 300 DPI 的高清图片,一寸照分辨率约 295×413 像素,二寸照约 413×579 像素,符合冲印店的标准要求。如果自己用家用打印机打,建议使用高质量光面相纸,打印设置选“照片纸”模式。如果打印出来模糊,通常是打印机设置问题,检查是否误选了“草稿模式”或“普通纸”。电子版可以直接用于报名系统、简历上传。
这个工具支持什么颜色的背景?白底、蓝底、红底都有吗?
支持最常见的三种底色:白色(#FFFFFF)、蓝色(#438EDB 或 #1D5BA8)、红色(#ED1C24 或 #D9001B)。其中蓝色和红色分别提供浅色和深色两种版本,可以按考试或证件要求选择。例如:身份证、护照一般用白底;毕业证、签证常用蓝底;社保卡、保险常用红底。如果需求标准色号不在列表中,可以在生成后下载图片再用其他软件微调 RGB 值。
照片上传后会不会被保存到服务器?隐私安全吗?
照片不会被保存。所有处理(人脸检测、抠图、换底色、裁切)都在服务端内存中完成,处理完即丢弃原图和结果图,服务器不留任何文件。网络请求只用于上传图片和下载结果,不记录任何用户信息。如果仍担心隐私,可以断开网络后使用——工具在离线状态下也能正常完成全部功能(因为后端依赖的模型和库已提前部署)。
为什么我上传的照片总是提示“处理失败”或“超时”?
常见原因有:①照片过大(超过 10MB),服务器处理超时,建议压缩到 5MB 以内再传;②照片格式不是 JPG/PNG(比如用了 BMP、WEBP),工具只支持这两种格式;③照片中无人脸或人脸被遮挡(口罩、墨镜、大侧脸),工具依赖人脸检测算法,至少需要双眼可见。如果排除以上原因仍失败,可以清除浏览器缓存后重试,或换一个浏览器(Chrome/Edge 最新版)。
在线做证件照和去照相馆拍,哪个更划算?有什么区别?
在线工具适合已有合格照片、只需要换底色或调尺寸的场景,免费且即时出图。照相馆的优势在于:①提供专业布光,照片光线均匀、面部无阴影;②现场指导姿态和表情,避免闭眼、歪头等问题;③直接输出符合特定考试/签证要求的实体照片。如果手头有清晰的正面照(手机拍的也行),在线工具完全够用;如果对照片质量要求极高(如签证审核),建议去照相馆。
做出来的证件照尺寸准不准?会不会被报名系统判定不合格?
工具严格按照国家标准生成一寸(25×35mm,头部高度占 60%-70%)和二寸(35×49mm)尺寸。但不同考试/签证系统对“照片要求”定义不同——有的要求精确像素(如 295×413),有的要求文件大小(如 20KB-100KB),有的要求背景色号精确到#XXXXXX。建议生成后先下载查看文件属性,如果系统提示“尺寸不符”,可能是该考试有自定义比例,需要手动调整。
选择 打开 +新窗口 esc关闭