该项目能够从给定的正面照片中,自动识别脸部区域,并对图像前景进行提取分割,然后替换背景,并按照证件照的规格进行规范化处理。一共由5个模块组成:
利用Vahid Kazemi 和 Josephine Sullivan提出的基于gradient boosting的回归树算法检测面部的68个关键点位置.
论文:One Millisecond Face Alignment with an Ensemble of Regression Trees
利用opencv中的grabcut方法对人脸周围区域进行分割,将人头和衣服等前景分离出来.
论文:GrabCut” — Interactive Foreground Extraction using Iterated Graph Cuts
按照规格进行图片处理:分辨率:361×381,分辨率96dpi,位深度24,大小30k左右.
根据图片的背景颜色特征进行替换背景(蓝-红-白),如蓝背景变为红背景:将BGR图像转为HSV图像,蓝颜色H通道在78和110之间,然后转换通道将这些像素替换为(0,0,255)即可。
利用pyqt5进行界面设计.
python3
pip install opencv-python
pip install pyqt5
pip install dlib
shape_predictor_68_face_landmarks.dat.bz2下载后放入data目录中
python head.py