NVIDIA DRIVE OS Linux SDK API Reference

5.1.6.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NvMediaLensDistortion Struct Reference

Detailed Description

Holds distortion coefficients for the lens model.

Distortion coefficients are defined in the following way:

  • k1, k2, k3, k4, k5, k6 are radial distortion coeffcients.
  • p1 and p2 are tangential distortion coeffcients.

Setting any coefficient to 0 implies that it is not used in computation.

If we denote a point without distortion as [x, y, 1] and the corresponding point with distortion as [xd, yd, 1], then the distortion model is defined as follows:

When NvMediaLensModel is NVMEDIA_LDC_MODEL_POLYNOMIAL_DISTORTION, the control parameters are k1, k2, k3, k4, k5, k6, p1, and p2.

  • \(r = sqrt (x ^ 2 + y ^ 2)\)
  • \(kr = (1 + k1 * r^2 + k2 * r^4 + k3 * r^6) / (1 + k4 * r^2 + k5 * r^4 + k6 * r^6)\)
  • \(xd = x * kr + p1 * (2 * x * y) + p2 * (r^2 + 2 * x^2)\)
  • \(yd = y * kr + p1 * (r^2 + 2 * y^2) + p2 * (2 * x * y)\)

When NvMediaLensModel is NVMEDIA_LDC_MODEL_FISHEYE_EQUIDISTANT, NVMEDIA_LDC_MODEL_FISHEYE_EQUISOLID, NVMEDIA_LDC_MODEL_FISHEYE_ORTHOGRAPHIC, or NVMEDIA_LDC_MODEL_FISHEYE_STEREOGRAPHIC, the control parameters are k1, k2, k3, and k4.

  • \(r = sqrt (x ^ 2 + y ^ 2)\)
  • \(theta = atan(r)\)
  • \(theta_d = theta * (1 + k1 * theta^2 + k2 * theta^4 + k3 * theta^6 + k4 * theta^8)\)

Definition at line 171 of file nvmedia_ldc.h.

Data Fields

float_t k1
 Holds the radial distortion coefficient. More...
 
float_t k2
 Holds the radial distortion coefficient. More...
 
float_t k3
 Holds the radial distortion coefficient. More...
 
float_t k4
 Holds the radial distortion coefficient. More...
 
float_t k5
 Holds the radial distortion coefficient. More...
 
float_t k6
 Holds the radial distortion coefficient. More...
 
float_t p1
 Holds the tangential distortion coefficient. More...
 
float_t p2
 Holds the tangential distortion coefficient. More...
 

Field Documentation

float_t NvMediaLensDistortion::k1

Holds the radial distortion coefficient.

Definition at line 173 of file nvmedia_ldc.h.

float_t NvMediaLensDistortion::k2

Holds the radial distortion coefficient.

Definition at line 176 of file nvmedia_ldc.h.

float_t NvMediaLensDistortion::k3

Holds the radial distortion coefficient.

Definition at line 179 of file nvmedia_ldc.h.

float_t NvMediaLensDistortion::k4

Holds the radial distortion coefficient.

Definition at line 182 of file nvmedia_ldc.h.

float_t NvMediaLensDistortion::k5

Holds the radial distortion coefficient.

Definition at line 185 of file nvmedia_ldc.h.

float_t NvMediaLensDistortion::k6

Holds the radial distortion coefficient.

Definition at line 188 of file nvmedia_ldc.h.

float_t NvMediaLensDistortion::p1

Holds the tangential distortion coefficient.

Definition at line 191 of file nvmedia_ldc.h.

float_t NvMediaLensDistortion::p2

Holds the tangential distortion coefficient.

Definition at line 194 of file nvmedia_ldc.h.


The documentation for this struct was generated from the following file: