Class Zhang99CalibrationMatrixFromHomographies
Estimates camera calibration matrix from a set of homographies using linear algebra. Based upon the description found in [1], but has been modified to improve stability and flexibility. Two variants are implemented inside this class. One variant assumes that the skew is zero and requires two or more homographies and the other variant does not assume the skew is zero and requires three or more homographies. The calibration matrix structure is shown below.
Calibration matrix is defined as follows:
[ α c u0 ]
[ 0 β v0 ]
[ 0 0 1 ]
where 'c' is the camera's skew.
The zero skew variant is a modification of what was described in [1]. Instead of simply adding another row to force the skew to be zero that entire part of the equation has been omitted. The algorithm described in [1] was numerically unstable and did not produce meaningful results.
[1] Zhengyou Zhang, "Flexible Camera Calibration By Viewing a Plane From Unknown Orientations,", International Conference on Computer Vision (ICCV'99), Corfu, Greece, pages 666-673, September 1999.
-
Constructor Summary
ConstructorDescriptionZhang99CalibrationMatrixFromHomographies
(boolean assumeZeroSkew) Configures calibration estimation. -
Method Summary
Modifier and TypeMethodDescriptionReturns the computed calibration matrix.void
process
(List<DMatrixRMaj> homographies) Given a set of homographies computed from a sequence of images that observe the same plane it estimates the camera's calibration.void
setAssumeZeroSkew
(boolean zeroSkew) Specifies if it should assume skew is zero or not
-
Constructor Details
-
Zhang99CalibrationMatrixFromHomographies
public Zhang99CalibrationMatrixFromHomographies(boolean assumeZeroSkew) Configures calibration estimation.- Parameters:
assumeZeroSkew
- Assume that skew matrix is zero or not
-
Zhang99CalibrationMatrixFromHomographies
public Zhang99CalibrationMatrixFromHomographies()
-
-
Method Details
-
setAssumeZeroSkew
public void setAssumeZeroSkew(boolean zeroSkew) Specifies if it should assume skew is zero or not- Parameters:
zeroSkew
- true if skew is zero
-
process
Given a set of homographies computed from a sequence of images that observe the same plane it estimates the camera's calibration.- Parameters:
homographies
- Homographies computed from observations of the calibration grid.
-
getCalibrationMatrix
Returns the computed calibration matrix.- Returns:
- Calibration matrix.
-
getSolverNull
-