NVIDIA DRIVE OS Linux SDK API Reference

6.0.9 Release
nvmedia_ldc_util.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 
14 
15 #ifndef NVMEDIA_LDC_UTIL_H
16 #define NVMEDIA_LDC_UTIL_H
17 
18 #include "nvmedia_core.h"
19 #include "nvmedia_ldc.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
29 typedef enum
30 {
33 
38 
43 
48 
54 
62 typedef struct
63 {
75  float matrixCoeffs[2][3];
77 
85 typedef struct
86 {
88  float R[3][3];
90  float T[3];
92 
127 typedef struct
128 {
131 
133  float k1;
135  float k2;
137  float k3;
139  float k4;
141  float k5;
143  float k6;
145  float p1;
147  float p2;
149 
186  uint32_t *numControlPoints);
187 
232 NvMediaLdcGenWarpMapIdentity(NvMediaRect const *const dstRect,
233  NvMediaLdcRegionParameters const *const regionParams,
234  uint32_t numControlPoints,
235  NvMediaLdcControlPoint *const controlPoints);
236 
285  NvMediaLdcCameraIntrinsic const *const Kin,
286  NvMediaLdcCameraExtrinsic const *const X,
287  NvMediaLdcCameraIntrinsic const *const Kout,
288  NvMediaLdcLensDistortion const *const distModel,
289  NvMediaRect const *const dstRect,
290  NvMediaLdcRegionParameters const *const regionParams,
291  uint32_t numControlPoints,
292  NvMediaLdcControlPoint *const controlPoints);
293 
294 #ifdef __cplusplus
295 }
296 #endif
297 
298 #endif
NVMEDIA_LDC_LENS_MODEL_POLYNOMIAL_DISTORTION
@ NVMEDIA_LDC_LENS_MODEL_POLYNOMIAL_DISTORTION
Specifies a polynomial distortion model.
Definition: nvmedia_ldc_util.h:32
NvMediaLdcGenWarpMapIdentity
NvMediaStatus NvMediaLdcGenWarpMapIdentity(NvMediaRect const *const dstRect, NvMediaLdcRegionParameters const *const regionParams, uint32_t numControlPoints, NvMediaLdcControlPoint *const controlPoints)
Helper function to fills the given warp map with an identity mapping.
NvMediaLdcLensDistortion::p2
float p2
Holds the tangential distortion coefficient.
Definition: nvmedia_ldc_util.h:147
NvMediaLdcCameraIntrinsic
Instrinsic camera parameters.
Definition: nvmedia_ldc_util.h:62
NvMediaLdcLensModel
NvMediaLdcLensModel
Supported lens models used to generate a Warp Map.
Definition: nvmedia_ldc_util.h:29
NvMediaLdcLensDistortion
Distortion coefficients for the lens model.
Definition: nvmedia_ldc_util.h:127
NvMediaLdcLensDistortion::k5
float k5
Holds the radial distortion coefficient.
Definition: nvmedia_ldc_util.h:141
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:104
NvMediaLdcLensDistortion::k2
float k2
Holds the radial distortion coefficient.
Definition: nvmedia_ldc_util.h:135
NvMediaLdcLensDistortion::k4
float k4
Holds the radial distortion coefficient.
Definition: nvmedia_ldc_util.h:139
NvMediaLdcLensDistortion::k6
float k6
Holds the radial distortion coefficient.
Definition: nvmedia_ldc_util.h:143
NVMEDIA_LDC_LENS_MODEL_FISHEYE_ORTHOGRAPHIC
@ NVMEDIA_LDC_LENS_MODEL_FISHEYE_ORTHOGRAPHIC
Specifies a fisheye model: r = 2fsin(theta/2), where theta is the angle from the optical axis,...
Definition: nvmedia_ldc_util.h:47
NVMEDIA_LDC_LENS_MODEL_FISHEYE_STEREOGRAPHIC
@ NVMEDIA_LDC_LENS_MODEL_FISHEYE_STEREOGRAPHIC
Specifies a fisheye model: r = fsin(theta), where theta is the angle from the optical axis,...
Definition: nvmedia_ldc_util.h:52
NvMediaLdcGenWarpMap
NvMediaStatus NvMediaLdcGenWarpMap(NvMediaLdcCameraIntrinsic const *const Kin, NvMediaLdcCameraExtrinsic const *const X, NvMediaLdcCameraIntrinsic const *const Kout, NvMediaLdcLensDistortion const *const distModel, NvMediaRect const *const dstRect, NvMediaLdcRegionParameters const *const regionParams, uint32_t numControlPoints, NvMediaLdcControlPoint *const controlPoints)
Generates Warp Map for a particular lens model.
NvMediaRect
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:89
nvmedia_core.h
NVIDIA Media Interface: Core
NvMediaLdcRegionParameters
Holds the NvMedia LDC region configuration.
Definition: nvmedia_ldc.h:331
NVMEDIA_LDC_LENS_MODEL_FISHEYE_EQUISOLID
@ NVMEDIA_LDC_LENS_MODEL_FISHEYE_EQUISOLID
Specifies a fisheye model: r = f*theta, where theta is the angle from the optical axis,...
Definition: nvmedia_ldc_util.h:42
NvMediaLdcLensDistortion::k1
float k1
Holds the radial distortion coefficient.
Definition: nvmedia_ldc_util.h:133
NVMEDIA_LDC_LENS_MODEL_FISHEYE_EQUIDISTANT
@ NVMEDIA_LDC_LENS_MODEL_FISHEYE_EQUIDISTANT
Specifies a fisheye model: r = 2ftan(theta/2), where theta is the angle from the optical axis,...
Definition: nvmedia_ldc_util.h:37
NvMediaLdcLensDistortion::model
NvMediaLdcLensModel model
Camera model.
Definition: nvmedia_ldc_util.h:130
NvMediaLdcCameraExtrinsic
Extrinsic camera parameters.
Definition: nvmedia_ldc_util.h:85
NvMediaLdcGetNumControlPoints
NvMediaStatus NvMediaLdcGetNumControlPoints(NvMediaLdcRegionParameters const *const regionParams, uint32_t *numControlPoints)
Helper function to calculate the number of control points from the defined sparse warp map region par...
NvMediaLdcLensDistortion::p1
float p1
Holds the tangential distortion coefficient.
Definition: nvmedia_ldc_util.h:145
NvMediaLdcControlPoint
Represents a control point.
Definition: nvmedia_ldc.h:374
NvMediaLdcLensDistortion::k3
float k3
Holds the radial distortion coefficient.
Definition: nvmedia_ldc_util.h:137
nvmedia_ldc.h
NVIDIA Media Interface: Lens Distortion Correction and Temporal Noise Reduction