DriveWorks SDK Reference
5.14.77 Release
For Test and Development only

CameraModel.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2015-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
31#ifndef DW_CALIBRATION_CAMERAMODEL_CAMERAMODEL_H_
32#define DW_CALIBRATION_CAMERAMODEL_CAMERAMODEL_H_
33
34#include <dw/core/base/Config.h>
37#include <dw/core/base/Types.h>
38#include <dw/rig/Rig.h>
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
60// Calibrated cameras
61
67typedef struct dwCameraModelObject* dwCameraModelHandle_t;
68
72typedef struct dwCameraModelObject const* dwConstCameraModelHandle_t;
73
87 const dwPinholeCameraConfig* config,
88 dwContextHandle_t context);
89
103 const dwFThetaCameraConfig* config,
104 dwContextHandle_t context);
105
118DW_DEPRECATED("dwCameraModel_initializeFThetaNew is renamed to dwCameraModel_initializeFTheta.")
120 const dwFThetaCameraConfig* config,
121 dwContextHandle_t context);
122
136 const dwStereographicCameraConfig* config,
137 dwContextHandle_t context);
138
152
184
202 float32_t u, float32_t v,
204
223
251
265
278dwStatus dwCameraModel_getImageSize(uint32_t* width, uint32_t* height,
280
340 dwVector2ui newSize,
342
363 uint32_t sensorId,
365
368#ifdef __cplusplus
369}
370#endif
371
372#endif // DW_CALIBRATION_CAMERAMODEL_CAMERAMODEL_H_
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:45
Defines a 3x3 matrix of floating point numbers by using only one array.
Definition: MatrixTypes.h:139
Configuration parameters for a calibrated FTheta camera.
Definition: RigTypes.h:282
Configuration parameters for a calibrated stereographic camera.
Definition: RigTypes.h:406
NVIDIA DriveWorks API: Rig Configuration
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Core Exports
DW_API_PUBLIC dwStatus dwCameraModel_getInversePolynomial(float32_t *invPoly, size_t *size, dwCameraModelHandle_t obj)
Returns the inverse polynomial used for the inverse distortion model.
struct dwCameraModelObject * dwCameraModelHandle_t
A pointer to the handle representing a calibrated camera model.
Definition: CameraModel.h:67
DW_API_PUBLIC dwStatus dwCameraModel_initializeFTheta(dwCameraModelHandle_t *obj, const dwFThetaCameraConfig *config, dwContextHandle_t context)
Creates and initializes a calibrated camera for the F-Theta distortion model.
DW_API_PUBLIC dwStatus dwCameraModel_initialize(dwCameraModelHandle_t *camera, uint32_t sensorId, dwConstRigHandle_t obj)
Creates a calibrated camera model polymorphically for a compatible sensor.
struct dwCameraModelObject const * dwConstCameraModelHandle_t
A pointer to the handle representing a const calibrated camera.
Definition: CameraModel.h:72
DW_API_PUBLIC dwStatus dwCameraModel_getHorizontalFOV(float32_t *hfov, dwConstCameraModelHandle_t obj)
Gets the horizontal Field of View (FOV) of the calibrated camera, in radians.
DW_API_PUBLIC dwStatus dwCameraModel_initializeStereographic(dwCameraModelHandle_t *obj, const dwStereographicCameraConfig *config, dwContextHandle_t context)
Creates and initializes a calibrated stereographic camera.
DW_API_PUBLIC dwStatus dwCameraModel_ray2Pixel(float32_t *u, float32_t *v, float32_t x, float32_t y, float32_t z, dwConstCameraModelHandle_t obj)
Projects a 3D point in camera coordinates to a 2D pixel position.
DW_API_PUBLIC dwStatus dwCameraModel_pixel2Ray(float32_t *x, float32_t *y, float32_t *z, float32_t u, float32_t v, dwConstCameraModelHandle_t obj)
Back-projects a 2D point in pixel coordinates to a 3D optical ray direction.
DW_API_PUBLIC dwStatus dwCameraModel_release(dwCameraModelHandle_t obj)
Releases the calibrated camera.
DW_API_PUBLIC dwStatus dwCameraModel_applyImageTransform(const dwMatrix3f *transform, dwVector2ui newSize, dwCameraModelHandle_t obj)
Sets a new origin for the image and adjusts image scales.
DW_API_PUBLIC dwStatus dwCameraModel_initializePinhole(dwCameraModelHandle_t *obj, const dwPinholeCameraConfig *config, dwContextHandle_t context)
Creates and initializes a calibrated pinhole camera.
DW_API_PUBLIC dwStatus dwCameraModel_isRayInsideFOV(bool *isInsideMaxFOV, float32_t x, float32_t y, float32_t z, dwConstCameraModelHandle_t obj)
Checks if the angle of a ray with the camera's optical center is below the maximum possible angle of ...
DW_API_PUBLIC dwStatus dwCameraModel_initializeFThetaNew(dwCameraModelHandle_t *obj, const dwFThetaCameraConfig *config, dwContextHandle_t context)
Creates and initializes a calibrated camera for the F-Theta distortion model.
DW_API_PUBLIC dwStatus dwCameraModel_getImageSize(uint32_t *width, uint32_t *height, dwConstCameraModelHandle_t obj)
Gets the width and height of the calibrated camera, in pixels.
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:86
#define DW_DEPRECATED(msg)
Definition: Exports.h:66
#define DW_API_PUBLIC
Definition: Exports.h:54
struct dwRigObject const * dwConstRigHandle_t
Definition: Rig.h:73
Defines a two-element unsigned-integer vector.
Definition: MatrixTypes.h:71