DriveWorks SDK Reference
5.16.65 Release
For Test and Development only

FeatureDescriptor.h
Go to the documentation of this file.
1
2// This code contains NVIDIA Confidential Information and is disclosed
3// under the Mutual Non-Disclosure Agreement.
4//
5// Notice
6// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10//
11// NVIDIA Corporation assumes no responsibility for the consequences of use of such
12// information or for any infringement of patents or other rights of third parties that may
13// result from its use. No license is granted by implication or otherwise under any patent
14// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15// expressly authorized by NVIDIA. Details are subject to change without notice.
16// This code supersedes and replaces all information previously supplied.
17// NVIDIA Corporation products are not authorized for use as critical
18// components in life support devices or systems without express written approval of
19// NVIDIA Corporation.
20//
21// Copyright (c) 2022-2023 NVIDIA Corporation. All rights reserved.
22//
23// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24// rights in and to this software and related documentation and any modifications thereto.
25// Any use, reproduction, disclosure or distribution of this software and related
26// documentation without an express license agreement from NVIDIA Corporation is
27// strictly prohibited.
28//
30
46#ifndef DW_IMAGEPROCESSING_FEATUREDETECTOR_DESCRIPTOR_FEATURE_DESCRIPTOR_H_
47#define DW_IMAGEPROCESSING_FEATUREDETECTOR_DESCRIPTOR_FEATURE_DESCRIPTOR_H_
48
49#include <dw/core/base/Config.h>
52#include <dw/core/base/Types.h>
53#include <dw/core/system/PVA.h>
54#include <dw/image/Image.h>
57
58#ifdef __cplusplus
59extern "C" {
60#endif
61
65typedef struct dwFeature2DDescriptorObject* dwFeature2DDescriptorHandle_t;
66
70typedef struct dwFeature2DDescriptorObject const* dwConstFeature2DDescriptorHandle_t;
71
75typedef enum {
81
86{
91
95 uint32_t imageWidth;
96
100 uint32_t imageHeight;
101
106
111
113
139
148
164 const dwFeature2DDescriptorConfig* config,
165 cudaStream_t cudaStream,
166 dwContextHandle_t context);
167
179
195
210
223
241
257 const dwFeatureArray* features,
259
274
289
302
303#ifdef __cplusplus
304}
305#endif
307#endif // DW_IMAGEPROCESSING_FEATUREDETECTOR_DESCRIPTOR_FEATURE_DESCRIPTOR_H_
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:44
NVIDIA DriveWorks API: Feature Array and Feature History Array
NVIDIA DriveWorks API: cuPVA Includes
void * cupvaStream_t
Dummy definition for non PVA supported platforms.
Definition: PVA.h:47
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Core Exports
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:86
#define DW_API_PUBLIC
Definition: Exports.h:56
dwProcessorType
Processor type definitions.
Definition: TypesExtra.h:126
Holds pointers to the data exposed by a feature2d list.
Definition: FeatureList.h:161
dwProcessorType processorType
for DW_FEATURE2D_DESCRIPTOR_ALGORITHM_ORB only set to DW_PROCESSOR_TYPE_PVA_0 to call PVA orb descrip...
uint32_t imageWidth
Width of the images in pixels that the Descriptor runs on.
uint32_t maxFeatureCount
Upper bound on number of features handled.
dwFeature2DDescriptorAlgorithm algorithm
Detecting algorithm defined by dwFeature2DDescriptorType
uint32_t imageHeight
Height of the images in pixels that the descriptor runs on.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_getPVAStream(cupvaStream_t *stream, dwConstFeature2DDescriptorHandle_t obj)
Gets the CUPVA stream used by the feature Descriptor.
dwFeature2DDescriptorStage
The stage of feature descriptor.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_bindOutput(dwFeatureDescriptorArray *outputDescriptors, dwFeature2DDescriptorHandle_t obj)
Binds output dwFeatureDescriptorArray to descriptor object.
struct dwFeature2DDescriptorObject * dwFeature2DDescriptorHandle_t
Handle representing a feature descriptor.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_release(dwFeature2DDescriptorHandle_t obj)
Releases the feature descriptor.
dwFeature2DDescriptorAlgorithm
Feature descriptor algorithm.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_processImage(dwFeature2DDescriptorStage stage, dwFeature2DDescriptorHandle_t obj)
Do detections on the image bound by dwFeature2DDescriptor_bindInputImage, output will be written to d...
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_setPVAStream(cupvaStream_t stream, dwFeature2DDescriptorHandle_t obj)
Sets the CUPVA stream for PVA related operations.
struct dwFeature2DDescriptorObject const * dwConstFeature2DDescriptorHandle_t
Handle representing a const feature descriptor.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_initDefaultParams(dwFeature2DDescriptorConfig *params)
Initializes dwFeature2DDescriptor parameters with default values.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_initialize(dwFeature2DDescriptorHandle_t *obj, const dwFeature2DDescriptorConfig *config, cudaStream_t cudaStream, dwContextHandle_t context)
Creates and initializes a feature descriptor.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_bindBuffers(dwImageHandle_t image, const dwFeatureArray *features, dwFeature2DDescriptorHandle_t obj)
Binds input parameters to descriptor object.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_setCUDAStream(cudaStream_t stream, dwFeature2DDescriptorHandle_t obj)
Sets the CUDA stream for CUDA related operations.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_reset(dwFeature2DDescriptorHandle_t obj)
Resets a feature descriptor.
DW_API_PUBLIC dwStatus dwFeature2DDescriptor_getCUDAStream(cudaStream_t *stream, dwConstFeature2DDescriptorHandle_t obj)
Gets the CUDA stream used by the feature descriptor.
@ DW_FEATURE2D_DESCRIPTOR_STAGE_CPU_SYNC
CPU preprocess.
@ DW_FEATURE2D_DESCRIPTOR_STAGE_GPU_ASYNC
GPU Async stage.
@ DW_FEATURE2D_DESCRIPTOR_STAGE_PVA_ASYNC
PVA Process.
@ DW_FEATURE2D_DESCRIPTOR_STAGE_CPU_SYNC_POSTPROCESS
CPU Post process.
@ DW_FEATURE2D_DESCRIPTOR_STAGE_GPU_ASYNC_POSTPROCESS
Process the postprocess part of the feature descriptor pipeline on CPU.
@ DW_FEATURE2D_DESCRIPTOR_ALGORITHM_ORB
enum for selecting ORB descriptor
Holds configuration parameters for a feature descriptor.
struct dwImageObject * dwImageHandle_t
Definition: Image.h:105
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
NVIDIA DriveWorks API: Pyramid