The OpenVX Specification  a73e458
Warp Affine

Detailed Description

Performs an affine transform on an image.

This kernel performs an affine transform with a 2x3 Matrix \( M \) with this method of pixel coordinate translation [R00120]:

\begin{eqnarray} x0 &=& M_{1,1}*x + M_{1,2}*y + M_{1,3} \\ y0 &=& M_{2,1}*x + M_{2,2}*y + M_{2,3} \\ output(x,y) &=& input(x0,y0) \end{eqnarray}

This translates into the C declaration:

// x0 = a x + b y + c;
// y0 = d x + e y + f;
vx_float32 mat[3][2] = {
{a, d}, // 'x' coefficients
{b, e}, // 'y' coefficients
{c, f}, // 'offsets'
vx_matrix matrix = vxCreateMatrix(context, VX_TYPE_FLOAT32, 2, 3);


vx_node VX_API_CALL vxWarpAffineNode (vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output)
 [Graph] Creates an Affine Warp Node. More...

Function Documentation

◆ vxWarpAffineNode()

vx_node VX_API_CALL vxWarpAffineNode ( vx_graph  graph,
vx_image  input,
vx_matrix  matrix,
vx_enum  type,
vx_image  output 

[Graph] Creates an Affine Warp Node.

[in]graphThe reference to the graph [R00345].
[in]inputThe input VX_DF_IMAGE_U8 image [R00346].
[in]matrixThe affine matrix. Must be 2x3 of type VX_TYPE_FLOAT32 [R00347].
[in]typeThe interpolation type from Interpolation Constants [R00348]. VX_INTERPOLATION_AREA is not supported.
[out]outputThe output VX_DF_IMAGE_U8 image [R00349].
The border modes VX_NODE_BORDER value VX_BORDER_UNDEFINED and VX_BORDER_CONSTANT are supported.
vx_node [R00350].
Return values
vx_nodeA node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus