Python用dilb提取照片上人臉的示例
阿新 • • 發佈:2020-10-27
上程式碼:
#coding=utf-8 import cv2 import dlib path = "imagePath/9.jpg" img = cv2.imread(path) gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #人臉分類器 detector = dlib.get_frontal_face_detector() # 獲取人臉檢測器 predictor = dlib.shape_predictor( "shape_predictor_68_face_landmarks.dat" ) color = (0,255,0) # 定義繪製顏色 dets = detector(gray,1) for face in dets: shape = predictor(img,face) # 尋找人臉的68個標定點 chang=[] kuan= [] # 遍歷所有點,打印出其座標,並圈出來 for pt in shape.parts(): pt_pos = (pt.x,pt.y) chang.append(pt.x) kuan.append(pt.y) #cv2.circle(img,pt_pos,1,(0,0),1) x1 = max(chang) x2 = min(chang) y1 = max(kuan) y2 = min(kuan) cv2.rectangle(img,(x2,y2),(x1,y1),color,1) cropped = img[y2 + 1:y1,x2 + 1:x1] # 裁剪座標為[y0:y1,x0:x1] cv2.imshow("image",cropped) k = cv2.waitKey(0) if k == ord("s"): cv2.imwrite("imagePath/9-7.png",cropped) cv2.destroyAllWindows()
識別效果:
以上就是Python用dilb提取照片上人臉的示例的詳細內容,更多關於python 提取人臉的資料請關注我們其它相關文章!