Package com.irurueta.geometry.estimators
Class EPnPPointCorrespondencePinholeCameraEstimator.Solution
java.lang.Object
com.irurueta.geometry.estimators.EPnPPointCorrespondencePinholeCameraEstimator.Solution
- Enclosing class:
EPnPPointCorrespondencePinholeCameraEstimator
A possible solution.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) PinholeCameraPinhole camera using provided intrinsic parameters and estimated transformation for this solution.Control points in camera coordinates.(package private) doubleRe-projection error.(package private) MetricTransformation3DTransformation from world to camera coordinates. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
controlCameraPoints
Control points in camera coordinates. -
worldToCameraTransformation
MetricTransformation3D worldToCameraTransformationTransformation from world to camera coordinates. Point projection is expressed by x = P * Xw, where P is a pinhole camera and Xw is a point in world coordinates. Points in camera coordinates are expressed as: Xc = Tw-<c * Xw, where Tw-<c is the transformation from world to camera. The Euclidean transformation Tw-<c is expressed as: Tw-<c = [R t] [0' 1] Projection of a point in camera coordinates can also be expressed as x = Pc * Xc = K * [I 0] * Xc where Pc is a camera and has the form Pc = K *[I 0], so that x = Pc * Xc = K * [I 0] * Xc = K * [I 0] * Tw-<c * Xw x = K * [I 0] * [R t] * Xw = K * [I*R + 0, I*t + 0] * Xw = [0' 1] x = K * [R t] * Xw = K * [R - R*C] * Xw = x = P * Xw, where R is a rotation and C is the camera center in world coordinates. Assuming that control points are obtained up to scale, then instead of an Euclidean transformation we will assume that Tw-<c is a metric transformation, hence: Tw-<c = [s*R t2] [0' 1 ] To obtain the previous equation, then point in camera coordinates must be 1/s*Xc so that: x = Pc * 1/s * Xc = K * [I 0] * 1/s * Xc x = K * [I 0] * 1/s * Tw-<c * Xw x = K * [I 0] * 1/s *[s*R t2] * Xw = K * 1/s * [I*s*R + 0, I*t2 + 0] [0' 1 ] x = K * 1 / s * [s*R t2] * Xw = K * [R 1/s*t2] * Xw where t = 1/s*t2 = -R*C and so again x = K * [R t] * Xw and camera center is C = -1/s*R'*t2 -
camera
PinholeCamera cameraPinhole camera using provided intrinsic parameters and estimated transformation for this solution. -
reprojectionError
double reprojectionErrorRe-projection error.
-
-
Constructor Details
-
Solution
private Solution()
-