Class SelfCalibrationLinearDualQuadratic
Computes intrinsic calibration matrix for each view using projective camera matrices to compute the the dual absolute quadratic (DAQ) and by assuming different elements in the 3x3 calibration matrix have linear constraints. A minimum of three views are required to solve for the 10 unknowns in the DAQ if all constraints are applied. A solution found in the null space of the linear system below:
w^{*}_{i} = P_{i}*Q^{*}_{∞}*P^{T}_{i}
Where Q^{*} is DAQ and w^{*} is the Dual Image Absolute Cubic (DIAC)
On output, a list of intrinsic parameters is returned (fx,fy,skew) for every view which is provided. For a complete discussion of the theory see the auto calibration section of [1] with missing equations derived in [2].
Two types of constraints can be specified; zero skew and fixed aspect ratio. Zero principle point is a mandatory constraint. Zero skew is required if fixed aspect ratio is a constraint.
A check for sufficient geometric diversity is done by looking at singular values. The nullity should be one,
but if its more than one then there is too much ambiguity. The tolerance can be adjusted by changing the
singular threshold
.
 R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003
 P. Abeles, "BoofCV Technical Report: Automatic Camera Calibration" 20181

Nested Class Summary
Nested classes/interfaces inherited from class boofcv.alg.geo.selfcalib.SelfCalibrationBase
SelfCalibrationBase.Projective

Field Summary
Modifier and TypeFieldDescriptionboolean
boolean

Constructor Summary
ConstructorDescriptionSelfCalibrationLinearDualQuadratic
(boolean zeroSkew) Constructor for zeroprinciple point and (optional) zeroskewSelfCalibrationLinearDualQuadratic
(double aspectRatio) Constructor for zeroprinciple point, zeroskew, and known fixed aspect ratio (fy/fx) 
Method Summary
Methods inherited from class boofcv.alg.geo.selfcalib.SelfCalibrationBase
addCameraMatrix, addCameraMatrix, computeW, encodeQ, getMinimumProjectives

Field Details

decomposeADQ

knownAspect
public boolean knownAspect 
zeroSkew
public boolean zeroSkew


Constructor Details

SelfCalibrationLinearDualQuadratic
public SelfCalibrationLinearDualQuadratic(boolean zeroSkew) Constructor for zeroprinciple point and (optional) zeroskew Parameters:
zeroSkew
 if true zero is assumed to be zero

SelfCalibrationLinearDualQuadratic
public SelfCalibrationLinearDualQuadratic(double aspectRatio) Constructor for zeroprinciple point, zeroskew, and known fixed aspect ratio (fy/fx) Parameters:
aspectRatio
 Specifies the known aspect ratio. fy/fx


Method Details

reset
public void reset()Resets it into its initial state 
solve
Solve for camera calibration. A sanity check is performed to ensure that a valid calibration is found. All values must be countable numbers and the focal lengths must be positive numbers. Returns:
 Indicates if it was successful or not. If it fails it says why

getIntrinsics

getPlaneAtInfinity

getQ
Returns the absolute quadratic Returns:
 4x4 quadratic
