VPI - Vision Programming Interface

3.1 Release

LensDistortionModels.h
Go to the documentation of this file.
1 /*
2  * Copyright 2020-2021 NVIDIA Corporation. All rights reserved.
3  *
4  * NOTICE TO LICENSEE:
5  *
6  * This source code and/or documentation ("Licensed Deliverables") are
7  * subject to NVIDIA intellectual property rights under U.S. and
8  * international Copyright laws.
9  *
10  * These Licensed Deliverables contained herein is PROPRIETARY and
11  * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12  * conditions of a form of NVIDIA software license agreement by and
13  * between NVIDIA and Licensee ("License Agreement") or electronically
14  * accepted by Licensee. Notwithstanding any terms or conditions to
15  * the contrary in the License Agreement, reproduction or disclosure
16  * of the Licensed Deliverables to any third party without the express
17  * written consent of NVIDIA is prohibited.
18  *
19  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20  * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21  * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
22  * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23  * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24  * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25  * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27  * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28  * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29  * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32  * OF THESE LICENSED DELIVERABLES.
33  *
34  * U.S. Government End Users. These Licensed Deliverables are a
35  * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36  * 1995), consisting of "commercial computer software" and "commercial
37  * computer software documentation" as such terms are used in 48
38  * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39  * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
40  * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41  * U.S. Government End Users acquire the Licensed Deliverables with
42  * only those rights set forth herein.
43  *
44  * Any use of the Licensed Deliverables in individual and commercial
45  * software must include, in the user documentation and internal
46  * comments to the code, the above Disclaimer and U.S. Government End
47  * Users Notice.
48  */
49 
56 #ifndef NV_VPI_LENSDISTORTIONMODELS_H
57 #define NV_VPI_LENSDISTORTIONMODELS_H
58 
59 #include "Export.h"
60 #include "Status.h"
61 #include "WarpMap.h"
62 
63 #include <stdint.h>
64 
65 #ifdef __cplusplus
66 extern "C" {
67 #endif
68 
76 typedef enum
77 {
115 
137 typedef struct
138 {
147 
150  float k1, k2, k3, k4;
153 
192  const VPICameraExtrinsic X,
193  const VPICameraIntrinsic Kout,
194  const VPIFisheyeLensDistortionModel *distModel,
195  VPIWarpMap *warpMap);
196 
215 typedef struct
216 {
218  float k1;
219  float k2;
220  float k3;
221  float k4;
222  float k5;
223  float k6;
227  float p1;
228  float p2;
231 
269  const VPICameraIntrinsic Kin, const VPICameraExtrinsic X, const VPICameraIntrinsic Kout,
270  const VPIPolynomialLensDistortionModel *distModel, VPIWarpMap *warpMap);
271 
274 #ifdef __cplusplus
275 }
276 #endif
277 
278 #endif /* NV_VPI_LENSMODELS_H */
Declaration of VPI status codes handling functions.
Declares functions that implement the WarpMap structure and related functions.
VPIFisheyeMapping mapping
Mapping between pixel angle and pixel distance to image center.
VPIStatus vpiWarpMapGenerateFromPolynomialLensDistortionModel(const VPICameraIntrinsic Kin, const VPICameraExtrinsic X, const VPICameraIntrinsic Kout, const VPIPolynomialLensDistortionModel *distModel, VPIWarpMap *warpMap)
Generates a mapping that corrects image using polynomial lens distortion model.
VPIStatus vpiWarpMapGenerateFromFisheyeLensDistortionModel(const VPICameraIntrinsic Kin, const VPICameraExtrinsic X, const VPICameraIntrinsic Kout, const VPIFisheyeLensDistortionModel *distModel, VPIWarpMap *warpMap)
Generates a mapping that corrects image distortions caused by fisheye lenses.
float VPICameraExtrinsic[3][4]
Camera extrinsic matrix.
Definition: Types.h:668
VPIFisheyeMapping
Supported fisheye lens mapping types.
float VPICameraIntrinsic[2][3]
Camera intrinsic matrix.
Definition: Types.h:655
@ VPI_FISHEYE_EQUIDISTANT
Specifies the equidistant fisheye mapping.
@ VPI_FISHEYE_EQUISOLID
Specifies the equisolid fisheye mapping.
@ VPI_FISHEYE_STEREOGRAPHIC
Specifies the stereographic fisheye mapping.
@ VPI_FISHEYE_ORTHOGRAPHIC
Specifies the orthographic fisheye mapping.
Holds coefficients for fisheye lens distortion model.
Holds coefficients for polynomial lens distortion model.
VPIStatus
Status codes.
Definition: Status.h:81
Defines the mapping between input and output images' pixels.
Definition: WarpMap.h:88