Functions
VXLIB_harrisCornersDetect_i32f

Functions

VXLIB_STATUS VXLIB_harrisCornersDetect_i32f (const VXLIB_F32 src[restrict], const VXLIB_bufParams2D_t *src_addr, uint32_t corners[restrict], VXLIB_F32 strengths[restrict], uint32_t corners_capacity, uint32_t *num_corners, VXLIB_F32 strength_thresh, uint16_t startX, uint16_t startY)
 
VXLIB_STATUS VXLIB_harrisCornersDetect_i32f_checkParams (const VXLIB_F32 src[], const VXLIB_bufParams2D_t *src_addr, const uint32_t corners[], const VXLIB_F32 strengths[], uint32_t corners_capacity, const uint32_t *num_corners, VXLIB_F32 strength_thresh, uint16_t startX, uint16_t startY)
 

Detailed Description

Function Documentation

◆ VXLIB_harrisCornersDetect_i32f()

VXLIB_STATUS VXLIB_harrisCornersDetect_i32f ( const VXLIB_F32  src[restrict],
const VXLIB_bufParams2D_t *  src_addr,
uint32_t  corners[restrict],
VXLIB_F32  strengths[restrict],
uint32_t  corners_capacity,
uint32_t *  num_corners,
VXLIB_F32  strength_thresh,
uint16_t  startX,
uint16_t  startY 
)
Description:
Given the harris score for each pixel, this function performs a threshold and non-maximum suppression operation on the immediate neighborhood pixels. The outputs of the operation are 2 arrays: 1 array for the coordinates of the possible corners, and its associated list of strength values for further processing.
Method:
Parameters
[in]src[]Pointer to array containing harris strength values (F32)
[in]src_addr[]Pointer to structure containing dimensional information of src
[out]corners[]Pointer to array containing corner keypoint list (UQ32.0)
[out]strengths[]Pointer to array containing corner strength list corresponding to corners[] list (F32)
[in]corners_capacityNumber of keypoints allocated in the corners and strengths buffers.
[out]num_cornersTotal number of corners found in the image.
[in]strength_threshThreshold on minimum strength value for a corner to be considered.
[in]startXStarting x coordinate corresponding to the pixel at the src[] pointer
[in]startYStarting y coordinate corresponding to the pixel at the src[] pointer
Assumptions:
  • I/O buffer pointers are assumed to be not aliased.
  • The minimum image width and height are both 3.
  • Corners can not be detected in the 1 pixel that makes up the image border.
  • Each 32-bit word in corners[] array is composed of 2 16-bit half words representing x and y coordinates, such that corners[i] = (y(i) << 16) | x(i);
Performance Considerations:
  • For best performance, the following parameter settings are recommended:
    • Width as a multiple of 2

◆ VXLIB_harrisCornersDetect_i32f_checkParams()

VXLIB_STATUS VXLIB_harrisCornersDetect_i32f_checkParams ( const VXLIB_F32  src[],
const VXLIB_bufParams2D_t *  src_addr,
const uint32_t  corners[],
const VXLIB_F32  strengths[],
uint32_t  corners_capacity,
const uint32_t *  num_corners,
VXLIB_F32  strength_thresh,
uint16_t  startX,
uint16_t  startY 
)
Description:
Checks the parameters for programming errors for the VXLIB_harrisCornersDetect_i32f function.
Method:
The following checks are made:
  • There shall be no NULL pointers
  • The strides of each image shall be equal to or greater than the x dimension
Parameters
[in]src[]Pointer to array containing harris strength values (F32)
[in]src_addr[]Pointer to structure containing dimensional information of src
[out]corners[]Pointer to array containing corner keypoint list (UQ32.0)
[out]strengths[]Pointer to array containing corner strength list corresponding to corners[] list (F32)
[in]corners_capacityNumber of keypoints allocated in the corners and strengths buffers.
[out]num_cornersTotal number of corners found in the image.
[in]strength_threshThreshold on minimum strength value for a corner to be considered.
[in]startXStarting x coordinate corresponding to the pixel at the src[] pointer
[in]startYStarting y coordinate corresponding to the pixel at the src[] pointer

Copyright 2023, Texas Instruments Incorporated