@Reference(type=Article, author="Zhengyou Zhang", title="A flexible new technique for camera calibration", year="2000", journal="Pattern Analysis and Machine Intelligence, IEEE Transactions on", pages={"1330","1334"}, month="Nov", number="11", volume="22", customData={"keywords","calibration;computer vision;geometry;image sensors;matrix algebra;maximum likelihood estimation;optimisation;3D computer vision;camera calibration;flexible technique;maximum likelihood criterion;planar pattern;radial lens distortion;Calibration;Cameras;Closed-form solution;Computer simulation;Computer vision;Layout;Lenses;Maximum likelihood estimation;Nonlinear distortion;Testing","doi","10.1109/34.888718","ISSN","0162-8828"}) public class CameraCalibrationZhang extends Object
CameraIntrinsics
will be set to zero.Modifier and Type | Field and Description |
---|---|
protected List<Camera> |
cameras |
protected List<List<? extends IndependentPair<? extends Point2d,? extends Point2d>>> |
points |
Constructor and Description |
---|
CameraCalibrationZhang(List<List<? extends IndependentPair<? extends Point2d,? extends Point2d>>> points,
int width,
int height)
Calibrate a camera using Zhang's method based on the given model-image
point pairs across a number of images.
|
Modifier and Type | Method and Description |
---|---|
protected org.apache.commons.math3.linear.RealVector |
buildObservedVector()
Stack the observed image locations of the calibration pattern points into
a vector
|
double |
calculateError()
Compute the average per-pixel error (in pixels)
|
protected void |
estimateIntrisicAndExtrinsics(List<Jama.Matrix> homographies,
int width,
int height)
Compute the initial estimate of the intrinsic parameters and then the
extrinsic parameters assuming zero distortion.
|
protected void |
estimateRadialDistortion()
Produce an initial estimate of the radial distortion parameters, and
update the intrinsics
|
List<Camera> |
getCameras()
Get the computed (extrinsic and intrinsic) camera parameters for all
images used at construction time (in the same order).
|
CameraIntrinsics |
getIntrisics()
Get the computed intrinsic parameters calculated during construction.
|
protected void |
performCalibration(int width,
int height) |
public CameraCalibrationZhang(List<List<? extends IndependentPair<? extends Point2d,? extends Point2d>>> points, int width, int height)
points
- the pairs of model-image points to calibrate the camera withwidth
- the image width of the camera in pixelsheight
- the image height of the camera in pixelsprotected void performCalibration(int width, int height)
public List<Camera> getCameras()
public CameraIntrinsics getIntrisics()
protected void estimateRadialDistortion()
protected void estimateIntrisicAndExtrinsics(List<Jama.Matrix> homographies, int width, int height)
homographies
- the homographiesheight
- width
- protected org.apache.commons.math3.linear.RealVector buildObservedVector()
public double calculateError()