用Dlib库实现68个人脸关键点检测
利用Dlib官方训练好的“shape_predictor_68_face_landmarks.dat”模型
进行68点标注,查找图片中的关键点。
下载地址:http://dlib.net/files/
下载文件:shape_predictor_68_face_landmarks.dat.bz2
实现人脸图像的关键点检测代码实现:
import cv2
import dlib
import numpy as np
img = cv2.imread("1.jpg")
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
rects = detector(img_gray,0)
for i in range(len(rects)):
landmark = np.matrix([[p.x,p.y] for p in predictor(img,rects[i]).parts()])
for idx,point in enumerate(landmark):
pos = (point[0,0],point[0,1])
print(idx,pos)
cv2.circle(img,pos,5,(0,255,0))
cv2.putText(img,str(idx+1),pos,cv2.FONT_HERSHEY_SIMPLEX,0.8,(0,0,255),1,cv2.LINE_AA)
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destoryAllWindows()
还没有评论,来说两句吧...