cv.solveP3P - MATLAB File Help |
Finds an object pose from 3 3D-2D point correspondences
[rvecs, tvecs, solutions] = cv.solveP3P(objectPoints, imagePoints, cameraMatrix)
[...] = cv.solveP3P(..., 'OptionName', optionValue, ...)
N=3
is the number of points, or cell
array of length N=3
of 3-element vectors can be also passed here
{[x1,y1,z1], [x2,y2,z2], [x3,y3,z3]}
.N=3
is the number of points, or cell array of length N=3
of 2-element vectors can be also passed here {[x1,y1], [x2,y2], [x3,y3]}
.A = [fx 0 cx; 0 fy cy; 0 0 1]
.tvecs
, brings points from the model coordinate system to the camera
coordinate system. A P3P problem has up to 4 solutions.[k1,k2,p1,p2,k3,k4,k5,k6,s1,s2,s3,s4,taux,tauy]
of 4, 5, 8, 12 or 14
elements. If the vector is empty, the zero distortion coefficients are
assumed. default empty.The function estimates the object pose given 3 object points, their corresponding image projections, as well as the camera matrix and the distortion coefficients.
[gao2003complete]:
X.S. Gao, X.R. Hou, J. Tang, H.F. Chang; "Complete Solution Classification for the Perspective-Three-Point Problem", IEEE Trans. on PAMI, vol. 25, No. 8, p. 930-943, August 2003.
[Ke17]:
T. Ke, S. Roumeliotis; "An Efficient Algebraic Solution to the Perspective-Three-Point Problem", IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017 PDF