Package boofcv.alg.geo.pose
Class PnPInfinitesimalPlanePoseEstimation
java.lang.Object
boofcv.alg.geo.pose.PnPInfinitesimalPlanePoseEstimation
A plane based pose estimation algorithm [1]. Works by first finding the homography between two sets of 2D points. Then solve for the pose using 3D pose information of the points. Since this is plane based the 3D points must all lie on a plane (z=0). A minimum of 4 points is required to estimate the pose. The planar assumption enables it to run very fast and accurately.
[1] Collins, Toby, and Adrien Bartoli. "Infinitesimal plane-based pose estimation." International journal of computer vision 109.3 (2014): 252-286.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
double
int
protected void
IPPE
(DMatrixRMaj R1, DMatrixRMaj R2) Solves the IPPE problemboolean
process
(List<AssociatedPair> points) Estimates the transform from world coordinate system to camera given known points and observations.
-
Constructor Details
-
PnPInfinitesimalPlanePoseEstimation
-
PnPInfinitesimalPlanePoseEstimation
public PnPInfinitesimalPlanePoseEstimation()
-
-
Method Details
-
process
Estimates the transform from world coordinate system to camera given known points and observations. For each observation p1=World 3D location. z=0 is implicit. p2=Observed location of points in image in normalized image coordinates- Parameters:
points
- List of world coordinates in 2D (p1) and normalized image coordinates (p2)- Returns:
- true if successful or false if it fails to estimate
-
IPPE
Solves the IPPE problem -
getHomography
-
getMinimumPoints
public int getMinimumPoints() -
getWorldToCamera0
-
getWorldToCamera1
-
getError0
public double getError0() -
getError1
public double getError1()
-