Functions
VXLIB_harrisCornersScore_i16s_i16s_o32f

Functions

VXLIB_STATUS VXLIB_harrisCornersScore_i16s_i16s_o32f (const int16_t src_x[restrict], const VXLIB_bufParams2D_t *src_x_addr, const int16_t src_y[restrict], const VXLIB_bufParams2D_t *src_y_addr, VXLIB_F32 dst[restrict], const VXLIB_bufParams2D_t *dst_addr, VXLIB_F32 scratch[restrict], VXLIB_F32 sensitivity, uint8_t gradient_size, uint8_t block_size)
 
VXLIB_STATUS VXLIB_harrisCornersScore_i16s_i16s_o32f_checkParams (const int16_t src_x[restrict], const VXLIB_bufParams2D_t *src_x_addr, const int16_t src_y[restrict], const VXLIB_bufParams2D_t *src_y_addr, VXLIB_F32 dst[restrict], const VXLIB_bufParams2D_t *dst_addr, VXLIB_F32 scratch[restrict], VXLIB_F32 sensitivity, uint8_t gradient_size, uint8_t block_size)
 

Detailed Description

Function Documentation

◆ VXLIB_harrisCornersScore_i16s_i16s_o32f()

VXLIB_STATUS VXLIB_harrisCornersScore_i16s_i16s_o32f ( const int16_t  src_x[restrict],
const VXLIB_bufParams2D_t *  src_x_addr,
const int16_t  src_y[restrict],
const VXLIB_bufParams2D_t *  src_y_addr,
VXLIB_F32  dst[restrict],
const VXLIB_bufParams2D_t *  dst_addr,
VXLIB_F32  scratch[restrict],
VXLIB_F32  sensitivity,
uint8_t  gradient_size,
uint8_t  block_size 
)
Description:
Given the image x and y gradients, this performs the harris score computation for a programmable neighborhood size (block_size) of each pixel.
Method:
Parameters
[in]src_x[]Pointer to array containing x gradient input image (SQ15.0)
[in]src_x_addr[]Pointer to structure containing dimensional information of src_x
[in]src_y[]Pointer to array containing y gradient input image (SQ15.0)
[in]src_y_addr[]Pointer to structure containing dimensional information of src_y
[out]dst[]Pointer to array containing output strengths (F32)
[in]dst_addr[]Pointer to structure containing dimensional information of dst
[in]scratch[]Pointer to scratch buffer of size = 4*3*(block_size+1)*width bytes
[in]sensitivitySensitivity threshold 'k' from the Harris-Stephens equation
[in]gradient_sizeGradient size used to generate the sobel gradient inputs (3, 5, or 7)
[in]block_sizeBlock size to use in the Harris Score computation (3, 5, or 7)
Assumptions:
  • I/O buffer pointers are assumed to be not aliased.
  • Valid output data in dst buffer is (block_size-1) pixels smaller in both horizontal and vertical directions due to neighborhood computation.
  • Valid gradient_size values are 3 (for 3x3 sobel), 5 (for 5x5 sobel), or 7(for 7x7 sobel)
  • Valid block_size values are 3 (for 3x3), 5 (for 5x5), or 7(for 7x7)
  • The scratch buffer should be allocated at least a buffer of size 4*3*(block_size+1)*width bytes
Performance Considerations:
  • For best performance, the following parameter settings are recommended:
    • Set widths equal to strides
    • Allocate scratch buffer in fast memory

◆ VXLIB_harrisCornersScore_i16s_i16s_o32f_checkParams()

VXLIB_STATUS VXLIB_harrisCornersScore_i16s_i16s_o32f_checkParams ( const int16_t  src_x[restrict],
const VXLIB_bufParams2D_t *  src_x_addr,
const int16_t  src_y[restrict],
const VXLIB_bufParams2D_t *  src_y_addr,
VXLIB_F32  dst[restrict],
const VXLIB_bufParams2D_t *  dst_addr,
VXLIB_F32  scratch[restrict],
VXLIB_F32  sensitivity,
uint8_t  gradient_size,
uint8_t  block_size 
)
Description:
Checks the parameters for programming errors for the VXLIB_harrisCornersScore_i16s_i16s_o32f function.
Method:
The following checks are made:
  • There shall be no NULL pointers
  • All inputs shall have the same x and y dimensions
  • Output shall have have a y dimension of at least (block_size-1) rows less than input y dimension
  • The strides of each image shall be equal to or greater than the x dimension
Parameters
[in]src_x[]Pointer to array containing x gradient input image (SQ15.0)
[in]src_x_addr[]Pointer to structure containing dimensional information of src_x
[in]src_y[]Pointer to array containing y gradient input image (SQ15.0)
[in]src_y_addr[]Pointer to structure containing dimensional information of src_y
[out]dst[]Pointer to array containing output strengths (F32)
[in]dst_addr[]Pointer to structure containing dimensional information of dst
[in]scratch[]Pointer to scratch buffer of size = 4*3*(block_size+1)*width bytes
[in]sensitivitySensitivity threshold 'k' from the Harris-Stephens equation
[in]gradient_sizeGradient size used to generate the sobel gradient inputs (3, 5, or 7)
[in]block_sizeBlock size to use in the Harris Score computation (3, 5, or 7)

Copyright 2023, Texas Instruments Incorporated