Package boofcv.alg.geo.pose
Interface P3PLineDistance
- All Known Implementing Classes:
P3PFinsterwalder
,P3PGrunert
public interface P3PLineDistance
A related problem to the full P3P problem is to estimate the distance between the camera center and each of the 3 points being viewed. Once those distances are known the full 3D rigid body transform can be computed.
More formally states the problem is: Three points (P1,P2,P3) in 3D space are observed in the image plane in normalized image coordinates (obs1,obs2,obs3). The distance in 3D space between pairs of points (P1,P3), (P1,P2), and (P2,P3) is known. Solve for the distance between the camera's origin and each of the three points.
-
Method Summary
Modifier and TypeMethodDescriptionReturns a set of solutions.boolean
process
(Point2D_F64 obs1, Point2D_F64 obs2, Point2D_F64 obs3, double length23, double length13, double length12) Solve for the distance between the camera's origin and each of the 3 points in 3D space.
-
Method Details
-
process
boolean process(Point2D_F64 obs1, Point2D_F64 obs2, Point2D_F64 obs3, double length23, double length13, double length12) Solve for the distance between the camera's origin and each of the 3 points in 3D space.- Parameters:
obs1
- Observation of P1 in normalized image coordinatesobs2
- Observation of P2 in normalized image coordinatesobs3
- Observation of P3 in normalized image coordinateslength23
- Distance between points P2 and P3length13
- Distance between points P1 and P3length12
- Distance between points P1 and P2- Returns:
- true if successful or false if it failed to generate any solutions
-
getSolutions
DogArray<PointDistance3> getSolutions()Returns a set of solutions. Each solution contains the distance to the respective point.- Returns:
- List of solutions.
-