The OpenVX Specification  r28647
Warp Perspective

## Detailed Description

Performs a perspective transform on an image.

This kernel performs an perspective transform with a 3x3 Matrix $$M$$ with this method of pixel coordinate translation:

\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} \\ z0 &=& M_{3,1}*x + M_{3,2}*y + M_{3,3} \\ output(x,y) &=& input(\frac{x0}{z0},\frac{y0}{z0}) \end{eqnarray}

This translates into the C declaration:

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

## Functions

vx_status vxuWarpPerspective (vx_context context, vx_image input, vx_matrix matrix, vx_enum type, vx_image output)
[Immediate] Performs an Perspective warp on an image. More...

vx_node vxWarpPerspectiveNode (vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output)
[Graph] Creates a Perspective Warp Node. More...

## Function Documentation

 vx_node vxWarpPerspectiveNode ( vx_graph graph, vx_image input, vx_matrix matrix, vx_enum type, vx_image output )

[Graph] Creates a Perspective Warp Node.

Parameters
 [in] graph The reference to the graph. [in] input The input VX_DF_IMAGE_U8 image. [in] matrix The perspective matrix. Must be 3x3 of type VX_TYPE_FLOAT32. [in] type The interpolation type from vx_interpolation_type_e. VX_INTERPOLATION_TYPE_AREA is not supported. [out] output The output VX_DF_IMAGE_U8 image.
Note
Only VX_NODE_ATTRIBUTE_BORDER_MODE value VX_BORDER_MODE_UNDEFINED or VX_BORDER_MODE_CONSTANT is supported.
Returns
vx_node.
Return values
 0 Node could not be created. * Node handle.
 vx_status vxuWarpPerspective ( vx_context context, vx_image input, vx_matrix matrix, vx_enum type, vx_image output )

[Immediate] Performs an Perspective warp on an image.

Parameters
 [in] context The reference to the overall context. [in] input The input VX_DF_IMAGE_U8 image. [in] matrix The perspective matrix. Must be 3x3 of type VX_TYPE_FLOAT32. [in] type The interpolation type from vx_interpolation_type_e. VX_INTERPOLATION_TYPE_AREA is not supported. [out] output The output VX_DF_IMAGE_U8 image.
Returns
A vx_status_e enumeration.
Return values
 VX_SUCCESS Success * An error occurred. See vx_status_e.