FastCornerDetector#

Functions#

NVCVStatus pvaFastCornerDetectorCreate(NVCVOperatorHandle *handle, NVCVTensorRequirements const *const tensorRequirements, PvaFastCornerDetectorParams const *const params, NVCVBorderType borderMode, int32_t borderValue)

Constructs an instance of the FAST corner operator.

NVCVStatus pvaFastCornerDetectorSubmit(NVCVOperatorHandle handle, cupvaStream_t stream, NVCVTensorHandle in, int32_t intensityThreshold, NVCVTensorHandle loc, NVCVTensorHandle numLoc)

Executes the FAST corner detection operation on a tensor.

Structs#

PvaFastCornerDetectorParamsRec

Structure to hold parameters for the FAST corner detector.

Functions#

NVCVStatus pvaFastCornerDetectorCreate(
NVCVOperatorHandle *handle,
NVCVTensorRequirements const *const tensorRequirements,
PvaFastCornerDetectorParams const *const params,
NVCVBorderType borderMode,
int32_t borderValue,
)#

Constructs an instance of the FAST corner operator.

Limitations: This release only supports specific parameter values: circleRadius=3, arcLength=9, and data type must be 16-bit unsigned.

Input: Data Layout: [HW] Channels: [1]

Data Type

Allowed

16-bit Unsigned

Yes

Parameters:

 params:
     - Typical combinations for circleRadius and arcLength include {1, 5}, 
       {2, 7}, {3, 9}.
     - nonMaxSuppression can be set to 0 (off) or 1 (on).

 borderMode:  NVCV_BORDER_CONSTANT or NVCV_BORDER_REPLICATE.

Parameters:
  • handle[out] Pointer to where the operator instance handle will be written. Must not be NULL.

  • tensorRequirements[in] Pointer to a structure containing tensor rank, shape, layout, and data type information.

  • params[in] Parameters for performing FAST corner detection. PvaFastCornerDetectorParams.

  • borderMode[in] Mode used for handling borders during processing.

  • borderValue[in] Constant value used when borderMode is NVCV_BORDER_CONSTANT; ignored otherwise.

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Handle is null.

  • NVCV_ERROR_OUT_OF_MEMORY – Possible cases include: 1) Failed to allocate memory for the operator. 2) Failed to allocate memory for holding intermediate buffer, which the host initializes then sends it for the device’s use.

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus pvaFastCornerDetectorSubmit(
NVCVOperatorHandle handle,
cupvaStream_t stream,
NVCVTensorHandle in,
int32_t intensityThreshold,
NVCVTensorHandle loc,
NVCVTensorHandle numLoc,
)#

Executes the FAST corner detection operation on a tensor.

Data Layout: [W] Channel: 1 Length: locCapacity Data Type: NVCV_DATA_TYPE_2F32 (XY-interleaved)

Parameters:
  • handle[in] Handle to the operator.

    • Must not be NULL.

  • stream[in] Handle to a valid CUPVA stream.

  • in[in] Input tensor handle containing image data.

  • intensityThreshold[in] Threshold used to determine if pixels in the circle are considered brighter or darker than the central pixel’s intensity.

    • Must be non-negative.

  • loc[out] Output tensor handle for storing coordinates of detected corners. Maximum number of locations (“locCapacity”) is inferred from tensor size.

  • numLoc[out] Output tensor handle for storing count of detected corners.

     Data Layout:    [W]
     Length:         1
     Range:          [0, "image height" x "image width"]
     Data Type:      NVCV_DATA_TYPE_S32
    

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Possible cases include: 1) The handle or stream or in or out is either NULL or points to an invalid address. 2) The input or output tensor does not meet the requirements used to create the operator handle.

  • NVCV_SUCCESS – Operation executed successfully.