Class Zhang99CalibrationMatrixFromHomographies
public class Zhang99CalibrationMatrixFromHomographies extends Object
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 u_{0} ]
[ 0 β v_{0} ]
[ 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 666673, September 1999.

Constructor Summary
Constructors Constructor Description Zhang99CalibrationMatrixFromHomographies()
Zhang99CalibrationMatrixFromHomographies(boolean assumeZeroSkew)
Configures calibration estimation. 
Method Summary
Modifier and Type Method Description DMatrixRMaj
getCalibrationMatrix()
Returns the computed calibration matrix.SolveNullSpaceSvd_DDRM
getSolverNull()
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
