CameraCalibrations.Calibration
— MethodCalibration(files, n_corners, checker_size, extrinsic_index)
Build a calibration object. files
are the image files of the checkerboard. n_corners
is a tuple of the number of corners in each of the sides of the checkerboard. checker_size
is the physical size of the checker (e.g. in cm). with_distortion
controls if radial lens distortion is included in the model or not.
CameraCalibrations.Calibration
— Methodc(i::RowCol, extrinsic)
Convert the row column StaticArray i
to its real-world equivalent, XYZ
, for the extrinsic parameters from the extrinsic
image (given as an index or file name).
CameraCalibrations.Calibration
— Methodc(xyz::XYZ, extrinsic)
Convert the x, y, z StaticArray xyz
to its pixel-coordinate equivalent, RowCol
for the extrinsic parameters from the extrinsic
image (given as an index or file name).
CameraCalibrations.RowCol
— TypeRowCol(row, col)
An alias for a static vector of two, row and column, indicating a cartesian coordinate in an image/matrix.
CameraCalibrations.XYZ
— TypeXYZ(x, y, z)
An alias for a static vector of three, x, y, and z, indicating a real-world coordinate. Note that x
is equivalent to the column
in RowCol
and the y
is equivalent to the row
.
CameraCalibrations._detect_corners
— Method_detect_corners
Wraps OpenCV function to auto-detect corners in an image.
CameraCalibrations.calculate_errors
— Functioncalculate_errors(c)
Calculate reprojection, projection, distance, and inverse errors for the calibration c
. distance
measures the mean error of the distance between all adjacent checkerboard corners from the expected checker_size
. inverse
measures the mean error of applying the calibration's transformation and its inverse inverse_samples
times.
CameraCalibrations.fit_model
— Methodfit_model
Wraps OpenCV function to fit a camera model to given object and image points.
CameraCalibrations.get_object_points
— Methodget_object_points
Produce the real-world locations of the corners of the checkerboard.
CameraCalibrations.improve
— Functionimprove
Identify all the images that had relatively high reprojection errors, and rerun the calibration without them. Include a maximum of n
images with the lowest reprojection error, or all the images with an error lower than threshold
.
CameraCalibrations.inv_lens_distortion
— Methodinv_lens_distortion
Analytical inverse lens distortion for one radial coefficient.
CameraCalibrations.lens_distortion
— Methodlens_distortion
Lens distortion for one radial coefficient.
CameraCalibrations.plot
— Methodplot
Save to locally created directory debug
all the calibration's images after rectification. Blue crosses indicate detetcted corners, and red crosses indicate their rectificated real-world locations. Ideally, both crosses' centers are right on top of each other.
CameraCalibrations.rectification
— Methodrectification(c, extrinsic_index)
Return a function that accepts an instance of ::RowCol
and converts it to its real-world equivalent for the extrinsic parameters from the extrinsic_index
image, without its third dimension (which would be ≈ 0): an xy
coordinate.