源代码地址:itainf/aiphoto

前言

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

蓝底原始图:

d5814d50c94e21fa7441ed37c5b38db2.png

关键特征描述:

5516ed3b7186fd78e65228d3b7f4b561.png

裁剪后的2寸照片:

3e9396be34076910ad50058773b9da78.png

一. 安装Dlib

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

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

eb7d23f4819f1b933be7139c55efd8e7.png

安装了 cmake

01c7b38a74a146e84a50af749c778932.png

命令安装cmake

conda install cmake

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

(idphoto) E:pythonazdlib-19.19.0.tardlib-19.19.0> python setup.py install

32a71a4f243ae87097ece651efd7a967.png

最终会提示安装成功

开发工具有可能提示找不到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寸照片

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐