import cv2
import dlib
import numpy as np
from imutils import face_utils
"""
思路:
第一步:2D人脸关键点检测;第二步:3D人脸模型匹配;
第三步:求解3D点和对应2D点的转换关系;第四步:根据旋转矩阵求解欧拉角。
"""
# 加载人脸检测和姿势估计模型(dlib)
face_landmark_path = 'shape_predictor_68_face_landmarks.dat'
"""
只要知道世界坐标系内点的位置、像素坐标位置和相机参数就可以搞定旋转和平移矩阵(OpenCV自带函数solvePnp())
"""
# 世界坐标系(UVW):填写3D参考点,该模型参考http://aifi.isr.uc.pt/Downloads/OpenGL/glAnthropometric3DModel.cpp
object_pts = np.float32([[6.825897, 6.760612, 4.402142], # 33左眉左上角
[1.330353, 7.122144, 6.903745], # 29左眉右角
[-1.330353, 7.122144, 6.903745], # 34右眉左角
[-6.825897, 6.760612, 4.402142], # 38右眉右上角
[5.311432, 5.485328, 3.987654], # 13左眼左上角
[1.789930, 5.393625, 4.413414], # 17左眼右上角
实时疲劳检测实战项目
最新推荐文章于 2023-02-10 09:45:06 发布