Field of View
Horizontal FOV
HFOV = 2 · atan( wmm / (2 · f) )
Vertical FOV
VFOV = 2 · atan( hmm / (2 · f) )
Brown‑Conrady
Normalized coords (pinhole)
xu = (u − cx) / fx yu = (v − cy) / fy
Radial distortion
r² = xu² + yu² → xd = xu · (1 + k₁r² + k₂r⁴ + k₃r⁶)
Tangential distortion
tx = 2p₁xuyu + p₂(r² + 2xu²)
ty = p₁(r² + 2yu²) + 2p₂xuyu
Full model
xd = xu · radial + tx yd = yu · radial + ty
Kannala‑Brandt (fisheye)
Projection
r = √(xu² + yu²) → θ = atan(r)
Distorted angle
θd = θ · (1 + k₁θ² + k₂θ⁴ + k₃θ⁶ + k₄θ⁸)
Distorted pixel
xd = (xu / r) · θd yd = (yu / r) · θd
OpenCV Rational (OpenCV‑8)
Radial (rational)
r² = x² + y² → radial = (1 + k₁r² + k₂r⁴ + k₃r⁶) / (1 + k₄r² + k₅r⁴ + k₆r⁶)
Full model
xd = xu · radial + tx yd = yu · radial + ty
(tx, ty same tangential as Brown‑Conrady)