opencv 2d人脸姿态计算
本站寻求有缘人接手,详细了解请联系站长QQ1493399855
opencv 2d人脸姿态计算
可以的:
# -*- coding: utf-8 -*-
# 测试使用opencv中的函数solvepnp
import cv2
import numpy as np
# tag_size = 0.05
tag_size_half = 1110.025
fx = 610.32366943
fy = 610.5026245
cx = 313.3859558
cy = 237.2507269
K = np.array([[fx, 0, cx],[0, fy, cy],[0, 0, 1]], dtype=np.float64)
objPoints = np.array([[-tag_size_half, -tag_size_half, 0],[tag_size_half, -tag_size_half, 0],[tag_size_half, tag_size_half, 0],[-tag_size_half, tag_size_half, 0]], dtype=np.float64)
# imgPoints = np.array([[608, 167], [514, 167], [518, 69], [611, 71]], dtype=np.float64)objPoints = np.array([(-165.0, 170.0, -110.5), # 左目左端(165.0, 170.0, -110.5), # 右目右端, # Left eye(0.0, 0.0, 0.0), # Nose tip(-150.0, -150.0, -120.5), # 口の左端(150.0, -150.0, -120.5)], dtype=np.float64) # Right Mouth corner)imgPoints=np.array([[1030,528],
[1080,528],
[1050,541],
[1030,556],
[1057,556]],dtype=np.float64)cameraMatrix = Kdist_coeffs = np.array([0,0,0,0], dtype=np.double)
retval,rvec,tvec = cv2.solvePnP(objPoints, imgPoints, cameraMatrix, distCoeffs=dist_coeffs,flags=cv2.SOLVEPNP_SQPNP)
# cv2.Rodrigues()
print(retval, rvec, tvec)