Camera object#
Camera models#
A set of classes that model the projective geometry of cameras.

Create central camera projection model |
|
Create fisheye camera projection model |
|
Create catadioptric camera projection model |
|
Create spherical camera projection model |
Calibration#
Intrinsic calibration of camera from multiple images#
- class CentralCamera(f: float | int | list[float | int] | tuple[float | int, ...] | ndarray = 1, distortion: ndarray | None = None, **kwargs)[source]
Create central camera projection model

- Parameters:
f (float, optional) – focal length, defaults to 8mm
distortion (array_like(5), optional) – camera distortion parameters, defaults to
Nonekwargs – arguments passed to
CameraBaseconstructor
A camera object contains methods for projecting 3D points and lines to the image plane, as well as supporting a virtual image plane onto which 3D points and lines can be drawn.
- References:
- Seealso:
CameraBaseFishEyeCameraSphericalCamera
Abstract camera base class
- Parameters:
name (str, optional) – camera instance name, defaults to
Nonecamtype (str, optional) – camera projection type, defaults to ‘central’
rho (scalar or array_like(2), optional) – pixel size, defaults to 1
imagesize (int or array_like(2), optional) – image dimension (width, height) in pixels, defaults to
Nonesensorsize (array_like(2), optional) – image sensor size (width, height), defaults to
Nonepp (array_like(2), optional) – principal point position, defaults to
Nonenoise (float, optional) – standard deviation of image plane projection noise, defaults to
Nonepose (
SE3, optional) – camera pose, defaults toNonelimits (array_like(4), optional) – bounds of virtual image plane [umin, umax, vmin, vmax], defaults to
Nonelabels (2-tuple of str, optional) – axis labels for virtual image plane, defaults to
('u', 'v')seed (int, optional) – random number seed for projection noise, defaults to
None
- Raises:
TypeError – name must be a string
TypeError – camtype must be a string
ValueError – rho must be a 1- or 2-element vector
This abstract class is the base for all camera projection model classes. All baseclass constructors support these options.
- classmethod images2C(images, gridshape: tuple[int, int] = (7, 6), squaresize: float = 0.025) tuple[ndarray, ndarray, list] | None[source]
Calibrate camera from checkerboard images
- Parameters:
images (
ImageSource) – an iterator that returnsImageobjectsgridshape (tuple, optional) – number of grid squares in each dimension, defaults to (7,6)
squaresize (float, optional) – size of the grid squares in units of length, defaults to 0.025
- Returns:
camera calibration matrix, distortion parameters, image frames
- Return type:
ndarray(3,4), ndarray(5), list of named tuples
The distortion coefficients are in the order \((k_1, k_2, p_1, p_2, k_3)\) where \(k_i\) are radial distortion coefficients and \(p_i\) are tangential distortion coefficients.
Image frames that were successfully processed are returned as a list of named tuples
CalibrationFramewith elements:element - type - description
image -
Image- calibration image with overlaid annotationpose -
SE3- pose of the camera with respect to the origin of this imageid - int - sequence number of this image in
imagesNote
The units used for
squaresizemust match the units used for defining 3D points in space.- References:
- Seealso:
Cpoints2CdecomposeCSE3