面部特征点检测dlib库使用
1、运行环境
python3
dlib
cv2
如果没有安装dlib和cv2, 建议使用conda 安装,简单不容易报错。
conda install -c conda-forge dlib
conda install -c conda-forge opencv
2、面部特征点检测
def landmark_detector(img_path):
predictor_path = './68_landmarks/shape_predictor_68_face_landmarks.dat'
detector = dlib.get_frontal_face_detector() # 加载面部检测器
predictor = dlib.shape_predictor(predictor_path) # 加载特征点检测器
img = cv2.imread(img_path)
dets = detector(img, 1) # 检测人脸,肯能有多个
landmarks = []
for k, d in enumerate(dets):
shape = predictor(img, d)
tmp = []
for point in shape.parts():
x, y = point.x, point.y
tmp.append((x, y))
landmarks.append(tmp)
return landmarks
predictor download path:shape_predictor_68_face_landmarks