Functions
VXLIB_cannyNMS_i16s_i16s_i16u_o8u

Functions

VXLIB_STATUS VXLIB_cannyNMS_i16s_i16s_i16u_o8u (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, const uint16_t src_mag[restrict], const VXLIB_bufParams2D_t *src_mag_addr, uint8_t dst[restrict], const VXLIB_bufParams2D_t *dst_addr)
 
VXLIB_STATUS VXLIB_cannyNMS_i16s_i16s_i16u_o8u_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, const uint16_t src_mag[restrict], const VXLIB_bufParams2D_t *src_mag_addr, uint8_t dst[restrict], const VXLIB_bufParams2D_t *dst_addr)
 

Detailed Description

Function Documentation

◆ VXLIB_cannyNMS_i16s_i16s_i16u_o8u()

VXLIB_STATUS VXLIB_cannyNMS_i16s_i16s_i16u_o8u ( 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,
const uint16_t  src_mag[restrict],
const VXLIB_bufParams2D_t *  src_mag_addr,
uint8_t  dst[restrict],
const VXLIB_bufParams2D_t *  dst_addr 
)
Description:
Given the image x and y gradients and associated magnitude image, this performs the non-maximum suppression given the 3x3 neighborhood of each pixel. Pixels are retained (output of 127), if the magnitude is greater than or equal to the pixels in the direction perpendicular to its edge orientation. Suppressed pixels are output as value 0.
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
[in]src_mag[]Pointer to array containing magnitude input image (UQ16.0)
[in]src_mag_addr[]Pointer to structure containing dimensional information of src_mag
[out]dst[]Pointer to array containing output image (UQ8.0)
[in]dst_addr[]Pointer to structure containing dimensional information of dst
Assumptions:
  • I/O buffer pointers are assumed to be not aliased.
  • Valid output data is 2 pixels smaller in horizontal direction, and 2 pixels smaller in vertical direction due to neighborhood comparison.
  • Max value of magnitude supported is 0xfffe.
Performance Considerations:
  • For best performance, the following parameter settings are recommended:
    • Set widths equal to strides
    • Set all stride values to a multiple of 2
    • Set all width values to a multiple of 2

◆ VXLIB_cannyNMS_i16s_i16s_i16u_o8u_checkParams()

VXLIB_STATUS VXLIB_cannyNMS_i16s_i16s_i16u_o8u_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,
const uint16_t  src_mag[restrict],
const VXLIB_bufParams2D_t *  src_mag_addr,
uint8_t  dst[restrict],
const VXLIB_bufParams2D_t *  dst_addr 
)
Description:
Checks the parameters for programming errors for the VXLIB_cannyNMS_i16s_i16s_i16u_o8u 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 2 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
[in]src_mag[]Pointer to array containing magnitude input image (UQ16.0)
[in]src_mag_addr[]Pointer to structure containing dimensional information of src_mag
[out]dst[]Pointer to array containing output image (UQ8.0)
[in]dst_addr[]Pointer to structure containing dimensional information of dst

Copyright 2022, Texas Instruments Incorporated