Посмотрите на свой логарифм. Он скажет, почему реальные объявления не отображаются.
Вероятно, потому, что в вашем местоположении сейчас нет доступных для вашего устройства.
rvecs - это представление угла поворота оси, для которого обычно требуется 4 числа, [v, theta], но v должно быть единичным вектором, и, следовательно, его длина кодируется как тета, уменьшая требуемые числа до 3. [111 ]
для кода, это должно быть что-то вроде этого.
def pnp(objectPoints,imgPoints,w,h,f):
cameraMatrix = np.array([[f,0,w/2.0],
[0,f,h/2.0],
[0,0,1]])
distCoeffs = np.zeros((5,1))
revtval,rvecs, tvecs =cv2.solvePnP(objectPoints[:,np.newaxis,:], imgPoints[:,np.newaxis,:], cameraMatrix, distCoeffs)#,False,flags=cv2.SOLVEPNP_EPNP)
return rvecs,tvecs
def rot_params_rv(rvecs):
from math import pi,atan2,asin
R = cv2.Rodrigues(rvecs)[0]
roll = 180*atan2(-R[2][1], R[2][2])/pi
pitch = 180*asin(R[2][0])/pi
yaw = 180*atan2(-R[1][0], R[0][0])/pi
rot_params= [roll,pitch,yaw]
return rot_params