The OpenVX Specification
r28647
|
Implements the Gradient Magnitude Computation Kernel.
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) ) ) ) ); int16 r = z > 32767 ? 32767 : z;
Functions | |
vx_node | vxMagnitudeNode (vx_graph graph, vx_image grad_x, vx_image grad_y, vx_image mag) |
[Graph] Create a Magnitude node. More... | |
vx_status | vxuMagnitude (vx_context context, vx_image grad_x, vx_image grad_y, vx_image output) |
[Immediate] Invokes an immediate Magnitude. More... | |
[Graph] Create a Magnitude node.
[in] | graph | The reference to the graph. |
[in] | grad_x | The input x image. This must be in VX_DF_IMAGE_S16 format. |
[in] | grad_y | The input y image. This must be in VX_DF_IMAGE_S16 format. |
[out] | mag | The magnitude image. This is in VX_DF_IMAGE_S16 format. |
VX_KERNEL_MAGNITUDE
vx_node
. 0 | Node could not be created. |
* | Node handle. |
vx_status vxuMagnitude | ( | vx_context | context, |
vx_image | grad_x, | ||
vx_image | grad_y, | ||
vx_image | output | ||
) |
[Immediate] Invokes an immediate Magnitude.
[in] | context | The reference to the overall context. |
[in] | grad_x | The input x image. This must be in VX_DF_IMAGE_S16 format. |
[in] | grad_y | The input y image. This must be in VX_DF_IMAGE_S16 format. |
[out] | output | The magnitude image. This will be in VX_DF_IMAGE_S16 format. |
vx_status_e
enumeration. VX_SUCCESS | Success |
* | An error occurred. See vx_status_e . |