Skip to main content
Version: 13.2

Camera Models

Below are all supported camera intrinsics models in MetriCal. If there is a model that you use that is not listed here, just contact us! We're always looking to expand our support.

Common Variables and Definitions

VariablesDescription
xcx_{c}, ycy_{c}Pixel coordinates in the image plane, with origin at the principal point
XX, YY, ZZFeature coordinates in the world, in 3D Euclidean Space
X^\hat X, Y^\hat Y, Z^\hat ZCorrected camera ray, in homogeneous coordinates centered on the camera origin
X^dist\hat X_{dist}, Y^dist\hat Y_{dist}, Z^dist\hat Z_{dist}Distorted camera ray, in homogeneous coordinates centered on the camera origin

Modeling (3D → 2D) refers to projecting a 3D point in the world to a 2D point in the image, given the intrinsics provided. In other words, it models the effect of distortion on a 3D point. This is also known as "forward projection".

Correcting (2D → 3D) refers to the process of finding the camera ray that is created when intrinsics are applied to a 2D point in the image. When "undistorting" a pixel, this can be thought of as finding the corrected ray's point of intersection with the image plane. In other words, it corrects for the effect of distortion. This is also known as "inverse projection".

Unified refers to a model that can be used to both model and correct for distortion.

Camera Model Descriptions

No Distortion

MetriCal keyword: no_distortion

This model is a classic pinhole projection with no distortion or affine effects. This model is most applicable when you're already correcting your images with a rectification process, or when you're using a camera with a very low distortion profile.

ParameterDescription
fffocal length (px)
cxc_{x}principal point in x (px)
cyc_{y}principal point in y (px)

De facto, nearly any camera that is already corrected for distortion uses this model. All models on this page are either pinhole models by design, or degrade to a pinhole model when no distortion is present.

xc=fXZ+cxyc=fYZ+cy\begin{align} x_{c} &= f \frac{X}{Z} + c_{x} \\ y_{c} &= f \frac{Y}{Z} + c_{y} \end{align}