只从人脸关键点计算脸的长宽呢

动态 未结 0 105
小小草
小小草 LV1 2023年9月23日 23:40 发表
从人脸关键点计算人脸的长宽需要一些数学知识和假设。以下是一种可能的方法: 1. 假设人脸是一个矩形,其边缘与眼睛和嘴巴的位置对齐。 2. 计算左眼、右眼、鼻子、嘴巴的中心点坐标。 3. 假设左眼和右眼在人脸中央,计算矩形的中心点坐标。 4. 计算矩形的宽度和高度,以及左上角坐标。 以下是实现这个方法的示例代码: ```python import cv2 import dlib import numpy as np detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat') img = cv2.imread('test.jpg') faces = detector(img) for face in faces: landmarks = predictor(img, face) # 计算左眼、右眼、鼻子、嘴巴的中心点坐标 left_eye_center = np.array([landmarks.part(36).x, landmarks.part(36).y]) right_eye_center = np.array([landmarks.part(45).x, landmarks.part(45).y]) nose_center = np.array([landmarks.part(30).x, landmarks.part(30).y]) mouth_center = np.array([landmarks.part(48).x + (landmarks.part(54).x - landmarks.part(48).x) / 2, landmarks.part(48).y + (landmarks.part(54).y - landmarks.part(48).y) / 2]) # 假设左眼和右眼在人脸中央,计算矩形的中心点坐标 center = (left_eye_center + right_eye_center + nose_center + mouth_center) / 4 # 计算矩形的宽度和高度,以及左上角
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复