Package boofcv.alg.geo.selfcalib
Class SelfCalibrationLinearRotationSingle
java.lang.Object
boofcv.alg.geo.selfcalib.SelfCalibrationLinearRotationSingle
Camera calibration for when the camera's motion is purely rotational and has no translational
component and camera parameters are assumed to be constant. All five camera parameters are estimated and no
constraints can be specified. Based off of constant calibration Algorithm 19.3 on page 482 in [1].
Steps: 1) Compute homographies between view i and reference frame, i.e. xi = Hix, ensure det(H)=1 2) Write equation w=(Hi)-Tw(i)-1 as A*x=0, where A = 6m by 6 matrix. 3) Compute K using Cholesky decomposition w = U*UT. Actually implemented as an algebraic formula.
- R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
add
(int which, Homography2D_F64 H, DMatrixRMaj A) Adds the linear system defined by H into A and Bstatic void
ensureDeterminantOfOne
(List<Homography2D_F64> homography0toI) Scales all homographies so that their determinants are equal to oneboolean
estimate
(List<Homography2D_F64> viewsI_to_view0, CameraPinhole calibration) Assumes that the camera parameter are constant
-
Constructor Details
-
SelfCalibrationLinearRotationSingle
public SelfCalibrationLinearRotationSingle()
-
-
Method Details
-
estimate
Assumes that the camera parameter are constant- Parameters:
viewsI_to_view0
- (Input) List of observed homographies. Modified so that determinant is one.calibration
- (Output) found calibration- Returns:
- true if successful
-
ensureDeterminantOfOne
Scales all homographies so that their determinants are equal to one -
add
Adds the linear system defined by H into A and B- Parameters:
which
- index of H in the list
-