The OpenVX Specification  dba1aa3

Detailed Description

Implements the Gradient Magnitude Computation Kernel. The output image dimensions should be the same as the dimensions of the input images.

This kernel takes two gradients in VX_DF_IMAGE_S16 format and computes the VX_DF_IMAGE_S16 normalized magnitude. Magnitude is computed as:

\[ mag(x,y) = \sqrt{grad_x(x,y)^2 + grad_y(x,y)^2} \]

The conceptual definition describing the overflow is given as:

uint16 z = uint16( sqrt( double( uint32( int32(x) * int32(x) ) + uint32( int32(y) * int32(y) ) ) ) + 0.5);

int16 mag = z > 32767 ? 32767 : z;

Functions

vx_node VX_API_CALL vxMagnitudeNode (vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image mag)
 [Graph] Create a Magnitude node. More...
 
vx_status VX_API_CALL vxuMagnitude (vx_context context, vx_image grad_x, vx_image grad_y, vx_image mag)
 [Immediate] Invokes an immediate Magnitude. More...
 

Function Documentation

vx_node VX_API_CALL vxMagnitudeNode ( vx_graph  graph,
vx_image  grad_x,
vx_image  grad_y,
vx_image  mag 
)

[Graph] Create a Magnitude node.

Parameters
[in]graphThe reference to the graph.
[in]grad_xThe input x image. This must be in VX_DF_IMAGE_S16 format.
[in]grad_yThe input y image. This must be in VX_DF_IMAGE_S16 format.
[out]magThe magnitude image. This is in VX_DF_IMAGE_S16 format. Must have the same dimensions as the input image.
See also
VX_KERNEL_MAGNITUDE
Returns
vx_node.
Return values
vx_nodeA node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus
vx_status VX_API_CALL vxuMagnitude ( vx_context  context,
vx_image  grad_x,
vx_image  grad_y,
vx_image  mag 
)

[Immediate] Invokes an immediate Magnitude.

Parameters
[in]contextThe reference to the overall context.
[in]grad_xThe input x image. This must be in VX_DF_IMAGE_S16 format.
[in]grad_yThe input y image. This must be in VX_DF_IMAGE_S16 format.
[out]magThe magnitude image. This will be in VX_DF_IMAGE_S16 format.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSSuccess
*An error occurred. See vx_status_e.