46#ifndef DW_IMAGEPROCESSING_TRACKING_FEATURETRACKER_FEATURETRACKER_H_
47#define DW_IMAGEPROCESSING_TRACKING_FEATURETRACKER_FEATURETRACKER_H_
64#define DW_FEATURE2D_TRACKER_MAX_WINDOW_SIZE 16
330 const dwPyramidImage* previousPyramid,
331 const dwPyramidImage* currentPyramid,
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
NVIDIA DriveWorks API: cuPVA Includes
void * cupvaStream_t
Dummy definition for non PVA supported platforms.
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Core Exports
NVIDIA DriveWorks API: 2D Detector
struct dwCameraModelObject const * dwConstCameraModelHandle_t
A pointer to the handle representing a const calibrated camera.
float float32_t
Specifies POD types.
struct dwContextObject * dwContextHandle_t
Context handle.
float32_t nccKillThreshold
Features will be killed if the Cross Correlation Score is less than this threshold during tracking.
uint32_t pyramidLevelCount
Levels of pyramid to track Valid only when algorithm = DW_FEATURE2D_TRACKER_ALGORITHM_EX or DW_FEATUR...
dwProcessorType processorType
Processor type which determines on which processor the algorithm should be executed on.
uint32_t numLevelTranslationOnly
Number of levels in pyramid that will use translation-only KLT tracking, level [maxPyramidLevel - 1,...
float32_t displacementThreshold
If difference of translation prediction between 2 adjacent KLT iteration is less than this value,...
dwFeature2DDetectorType detectorType
Type of detector that connects to the tracker, should be the same value as dwFeature2DDetectorConfig:...
uint32_t numIterScaling
Upper bound on number of 3-DOF translation+scaling KLT iterations per level.
uint32_t historyCapacity
Upper bound of history in feature history array.
float32_t nccUpdateThreshold
Feature template will be updated if the Cross Correlation Score is less than this threshold during tr...
bool enableAdaptiveWindowSizeLK
Enable adaptive window size If enabled, the tracker will use windowSizeLK to track only at the first ...
uint32_t maxFeatureCount
Upper bound on number of features handled.
dwFeature2DTrackerAlgorithm algorithm
Tracking Algorithm defined by dwFeature2DTrackerAlgorithm.
uint32_t windowSizeLK
Window size used in the KLT tracker.
uint32_t imageHeight
Height of the images that the tracker runs on.
uint32_t numIterTranslationOnly
Upper bound on number of 2-DOF translation-only KLT iterations per level.
float32_t maxScaleChange
The maximum allowed scale change for the tracked points across consecutive frames.
uint32_t enableSparseOutput
Enable sparse output if set to 1.
uint32_t imageWidth
Width of the images that the tracker runs on.
float32_t largeMotionKillRatio
Features will be killed if the motion is larger than the template size times the large motion killing...
bool useHalf
Set it to true to use half float as intermediate results during tracking It saves register usage and ...
DW_API_PUBLIC dwStatus dwFeature2DTracker_initialize(dwFeature2DTrackerHandle_t *obj, const dwFeature2DTrackerConfig *config, cudaStream_t cudaStream, dwContextHandle_t context)
Creates and initializes a feature tracker.
struct dwFeature2DTrackerObject * dwFeature2DTrackerHandle_t
Handle representing a feature tracker.
DW_API_PUBLIC dwStatus dwFeature2DTracker_compact(dwFeatureHistoryArray *featureHistoryArray, dwFeature2DTrackerHandle_t obj)
Remove invalid features.
DW_API_PUBLIC dwStatus dwFeature2DTracker_getPVAStream(cupvaStream_t *stream, dwFeature2DTrackerHandle_t obj)
Gets the cuPVA stream used by the feature tracker.
struct dwFeature2DTrackerObject const * dwConstFeature2DTrackerHandle_t
Handle representing a const feature tracker.
DW_API_PUBLIC dwStatus dwFeature2DTracker_reset(dwFeature2DTrackerHandle_t obj)
Resets a feature tracker.
DW_API_PUBLIC dwStatus dwFeature2DTracker_release(dwFeature2DTrackerHandle_t obj)
Releases the feature tracker.
DW_API_PUBLIC dwStatus dwFeature2DTracker_trackFeatures(dwFeatureHistoryArray *featureHistoryArray, dwFeatureArray *predictedFeatures, float32_t *d_normalizedCrossCorrelation, const dwFeatureArray *featuresToTrack, const dwVector2f *d_predictedPositions, const dwPyramidImage *previousPyramid, const dwPyramidImage *currentPyramid, dwFeature2DTrackerHandle_t obj)
Tracks features and store the tracked results to predictedFeatures between the previous and current i...
DW_API_PUBLIC dwStatus dwFeature2DTracker_initDefaultParams(dwFeature2DTrackerConfig *params)
Initializes dwFeature2DTracker parameters with default values.
DW_API_PUBLIC dwStatus dwFeature2DTracker_getCUDAStream(cudaStream_t *stream, dwFeature2DTrackerHandle_t obj)
Gets the CUDA stream used by the feature tracker.
DW_API_PUBLIC dwStatus dwFeature2DTracker_setPVAStream(cupvaStream_t stream, dwFeature2DTrackerHandle_t obj)
Sets the cuPVA stream for PVA related operations.
DW_API_PUBLIC dwStatus dwFeature2DTracker_initDefaultParamsForCamera(dwFeature2DTrackerConfig *params, const dwTransformation3f *cameraToRig, dwConstCameraModelHandle_t cameraHandle)
Initializes dwFeature2DTracker parameters with values best suited for the given camera using camera e...
DW_API_PUBLIC dwStatus dwFeature2DTracker_setCUDAStream(cudaStream_t stream, dwFeature2DTrackerHandle_t obj)
Sets the CUDA stream for CUDA related operations.
dwFeature2DTrackerAlgorithm
Defines different KLT tracking algorithms.
@ DW_FEATURE2D_TRACKER_ALGORITHM_EX
3-DOF (dx, dy, dscale) extended KLT tracking.
@ DW_FEATURE2D_TRACKER_ALGORITHM_STD
3-DOF (dx, dy, dscale) standard KLT tracking.
@ DW_FEATURE2D_TRACKER_ALGORITHM_COUNT
@ DW_FEATURE2D_TRACKER_ALGORITHM_EX_FAST
3-DOF (dx, dy, dscale) fast extended KLT tracking.
Holds configuration parameters for a feature tracker.
Holds pointers to the data exposed by a feature2d list.
dwFeature2DDetectorType
Defines different KLT tracking algorithms.
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
Defines a two-element single-precision floating-point vector.