Skip to content

裁剪照片

larry edited this page Jul 14, 2020 · 2 revisions

裁剪成二寸照片

1.采用 Dlib 定位人脸关键点,然后裁剪成2寸照片

蓝底原始图:

image-20200715000133867

关键特征描述:

image-20200715000232798

裁剪后的2寸照片:

image-20200715000251662

一. 安装Dlib

官网地址:http://dlib.net/

下载源代码:https://pypi.org/project/dlib/#files

image-20200530225710536

安装了 cmake

image-20200530230051776

命令安装cmake

conda install cmake

然后进入dlib根目录执行命令

(idphoto) E:\python\az\dlib-19.19.0.tar\dlib-19.19.0> python setup.py install

image-20200530230221280

最终会提示安装成功

开发工具有可能提示找不到dlib,将动态模块 dlib.cp38-win_amd64.pyd 拷贝到 DLLs 解决

二. 下载模型

使用 dlib 识别人脸关键点时,需要训练一个识别模型,dlib 官网提供了训练好的模型,这边可以直接下载

http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2

三. 安装 opencv-python

为了在图片上添加图标,使用了 opencv-python

使用阿里云镜像会非常快的安装

pip install  opencv-python  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

四. 人脸关键点识别

可以定位到该文件 face_marks.py

执行如下方法:

#打印人脸特征点
test_landmarks("..//img//meinv_id.png","..//img//meinv_id_landmarks.png")

五. 通过人脸关键点裁剪

定位到该文件 ai_crop.py

执行如下方法:

# 通过识别人脸关键点,裁剪图像
crop_photo("..//img//meinv_id.png","..//img//2in.jpg")

会在 img 输出2寸照片