Recovers the relative pose (rotation + translation DIRECTION) between two CALIBRATED views of a static scene from matched points and the camera matrix - the core step of two-view structure-from-motion and monocular visual odometry. It estimates the essential matrix (cv2.findEssentialMat, RANSAC) and decomposes it with the cheirality check (cv2.recoverPose), keeping the rotation/translation for which the inliers lie in FRONT of both cameras. Translation is a UNIT vector: monocular geometry fixes direction, not absolute scale. Same failure-tolerant contract as 'CV Find Fundamental Matrix': fewer than 5 points, a degenerate configuration or too few inliers returns found=false, an identity rotation and a zero translation instead of halting - branch on 'found' with a control-flow node. Note: a pure rotation (no camera translation) or a single plane is degenerate; use views with depth and a translated camera. Feed rotation + translation into 'CV Triangulate Points (Two-View)'.
By bmad4ever·Created 3 months ago·Updated 2 days ago· 0
CV Recover Pose (Essential Matrix)
points_a
points_b
camera_matrix
rotation
translation
inlier_mask
inlier_count
found
◄methodRANSAC►
◄threshold1.0►
◄confidence0.999►
◄min_inliers15►
Categoryimage/CV/features
Inputs (7)
Name
Type
Default
Description
points_a
NPARRAY
Points in view 1, Nx1x2 (from 'CV Match Features').
points_b
NPARRAY
Corresponding points in view 2, Nx1x2.
camera_matrix
NPARRAY
3x3 intrinsic matrix K shared by both views ('CV Camera Matrix' or 'Calibrate Camera').
method
COMBO
RANSAC
Robust estimator for the essential matrix. RANSAC is the standard choice for feature matches.
threshold
FLOAT
1.00.1–100
Max distance in pixels from a point to its epipolar line to count as an inlier (RANSAC).
confidence
FLOAT
0.9990.5–1
Desired probability that the estimate is correct (RANSAC/LMedS).
min_inliers
INT
155–10000
Minimum cheirality-consistent inliers for 'found' to be true. Raise it to reject accidental fits.
Outputs (5)
Name
Type
Description
rotation
NPARRAY
3x3 float64 rotation R mapping view-1 directions into view 2 (identity if not found).
translation
NPARRAY
3x1 float64 UNIT translation (camera-2 origin in view-1 frame, up to scale; zero if not found).
inlier_mask
NPARRAY
Nx1 uint8: 1 = point used in the recovered pose. Feed into 'CV Filter Points By Mask' / 'Draw Matches'.