Runs the orb algorithm over the input image. More...
Data Structures | |
struct | VPIORBParams |
Structure that defines the parameters for both vpiCreateORBFeatureDetector and vpiSubmitORBFeatureDetector. More... | |
Functions | |
VPIStatus | vpiInitORBParams (VPIORBParams *params) |
Initializes VPIORBParams with default values. More... | |
VPIStatus | vpiCreateORBFeatureDetector (uint64_t backends, size_t capacity, VPIPayload *payload) |
Creates a ORB payload. More... | |
VPIStatus | vpiSubmitORBFeatureDetector (VPIStream stream, uint64_t backend, VPIPayload payload, VPIPyramid input, VPIArray outCorners, VPIArray outDescriptors, const VPIORBParams *params, VPIBorderExtension border) |
Submits a ORB operation to the stream. More... | |
Runs the orb algorithm over the input image.
Refer to ORB feature detector for more details and usage examples.
struct VPIORBParams |
Structure that defines the parameters for both vpiCreateORBFeatureDetector and vpiSubmitORBFeatureDetector.
Data Fields | ||
---|---|---|
uint8_t | enableRBRIEF |
Whether or not to enable rBRIEF (rotationally invariant BRIEF). Disabling this makes it non-rotationally invariant but calculated faster. |
VPIFASTCornerDetectorParams | fastParams | Parameters for oFAST implementation. |
int32_t | maxFeatures | The maximum number of features alloted per level of the scale pyramid. |
int32_t | pyramidLevels |
The number of levels in the scale pyramid to utilize. Must be the same level as passed to the Pyramid. |
VPICornerScore | scoreType |
The scoring criteria for ordering the top N FAST corners. Defaults to Harris Corner value. |
VPIStatus vpiCreateORBFeatureDetector | ( | uint64_t | backends, |
size_t | capacity, | ||
VPIPayload * | payload | ||
) |
#include </opt/nvidia/vpi2/include/vpi/algo/ORB.h>
Creates a ORB payload.
This function allocates all temporary memory needed by the algorithm.
[in] | backends | VPI backends that are eligible to execute the algorithm.
|
[in] | capacity | Capacity of the internal buffer used to store FAST corners (the maximum number of FAST corners detected before filtering). |
[out] | payload | Pointer to the payload variable that receives the created handle. |
VPI_ERROR_INVALID_ARGUMENT | payload is NULL. |
VPI_ERROR_INVALID_ARGUMENT | inputWidth or inputHeight outside valid range. |
VPI_ERROR_INVALID_ARGUMENT | backends refers to an invalid backend. |
VPI_ERROR_INVALID_OPERATION | Backend hardware not available. |
VPI_ERROR_NOT_IMPLEMENTED | ORB algorithm is not supported by given backend. |
VPI_ERROR_INVALID_CONTEXT | Current context is destroyed. |
VPI_ERROR_OUT_OF_MEMORY | Cannot allocate required resources. |
VPI_ERROR_INVALID_OPERATION | Backend isn't enabled in current context. |
VPI_SUCCESS | Operation executed successfully. |
VPIStatus vpiInitORBParams | ( | VPIORBParams * | params | ) |
#include </opt/nvidia/vpi2/include/vpi/algo/ORB.h>
Initializes VPIORBParams with default values.
Default values are:
VPI_ERROR_INVALID_ARGUMENT | params is NULL. |
VPI_SUCCESS | Operation executed successfully. |
VPIStatus vpiSubmitORBFeatureDetector | ( | VPIStream | stream, |
uint64_t | backend, | ||
VPIPayload | payload, | ||
VPIPyramid | input, | ||
VPIArray | outCorners, | ||
VPIArray | outDescriptors, | ||
const VPIORBParams * | params, | ||
VPIBorderExtension | border | ||
) |
#include </opt/nvidia/vpi2/include/vpi/algo/ORB.h>
Submits a ORB operation to the stream.
[in] | stream | The stream where the operation will be queued in.
|
[in] | backend | Backend that will execute the algorithm.
|
[in] | payload | Payload to be submitted along the other parameters. |
[in] | input | Input Image Pyramid on which ORB will be executed.
|
[out] | outCorners | Array that will receive the detected corners. Array size is updated with the number of corners found.
|
[out] | outDescriptors | Array that will receive the descriptors for the corners Array size is updated with the number of corners found.
|
[in] | params | Pointer to a VPIORBParams. It defines the parameters for this algorithm invocation. These parameters can vary in every call and will be copied internally. Thus there is no need to keep the parameters object around.
|
[in] | border | How to handle pixels outside image boundaries. Set this value to the same value as the one in vpiSubmitGaussianPyramidGenerator.
|
VPI_ERROR_INVALID_ARGUMENT | stream is NULL. |
VPI_ERROR_INVALID_ARGUMENT | input or outCorners are NULL. |
VPI_ERROR_INVALID_ARGUMENT | Circle radius in params outside valid range. |
VPI_ERROR_INVALID_ARGUMENT | Arc length in params outside valid range. |
VPI_ERROR_INVALID_ARGUMENT | Intensity threshold in params outside valid range. |
VPI_ERROR_INVALID_ARRAY_TYPE | Invalid outCorners array type. |
VPI_ERROR_INVALID_IMAGE_FORMAT | Unsupported input format. |
VPI_ERROR_INVALID_OPERATION | The needed backends aren't enabled in stream , input or outCorners . |
VPI_SUCCESS | Operation executed successfully. |