The OpenVX Specification  dba1aa3
Canny Edge Detector

Detailed Description

Provides a Canny edge detector kernel. The output image dimensions should be the same as the dimensions of the input image.

This function implements an edge detection algorithm similar to that described in [2]. The main components of the algorithm are:

The details of each of these steps are described below.

\[ \mathbf{sobel}_{y}=transpose({sobel}_{x})= \begin{vmatrix} -1 & -2 & -1\\ 0 & 0 & 0\\ 1 & 2 & 1 \end{vmatrix} \]

Enumerations

enum  vx_norm_type_e {
  VX_NORM_L1 = ((( VX_ID_KHRONOS ) << 20) | ( VX_ENUM_NORM_TYPE << 12)) + 0x0,
  VX_NORM_L2 = ((( VX_ID_KHRONOS ) << 20) | ( VX_ENUM_NORM_TYPE << 12)) + 0x1
}
 A normalization type. More...
 

Functions

vx_node VX_API_CALL vxCannyEdgeDetectorNode (vx_graph graph, vx_image input, vx_threshold hyst, vx_int32 gradient_size, vx_enum norm_type, vx_image output)
 [Graph] Creates a Canny Edge Detection Node. More...
 
vx_status VX_API_CALL vxuCannyEdgeDetector (vx_context context, vx_image input, vx_threshold hyst, vx_int32 gradient_size, vx_enum norm_type, vx_image output)
 [Immediate] Computes Canny Edges on the input image into the output image. More...
 

Enumeration Type Documentation

A normalization type.

See also
Canny Edge Detector
Enumerator
VX_NORM_L1 

The L1 normalization.

VX_NORM_L2 

The L2 normalization.

Definition at line 1378 of file vx_types.h.

Function Documentation

vx_node VX_API_CALL vxCannyEdgeDetectorNode ( vx_graph  graph,
vx_image  input,
vx_threshold  hyst,
vx_int32  gradient_size,
vx_enum  norm_type,
vx_image  output 
)

[Graph] Creates a Canny Edge Detection Node.

Parameters
[in]graphThe reference to the graph.
[in]inputThe input VX_DF_IMAGE_U8 image.
[in]hystThe double threshold for hysteresis. The VX_THRESHOLD_INPUT_FORMAT shall be either VX_DF_IMAGE_U8 or VX_DF_IMAGE_S16. The VX_THRESHOLD_OUTPUT_FORMAT is ignored.
[in]gradient_sizeThe size of the Sobel filter window, must support at least 3, 5, and 7.
[in]norm_typeA flag indicating the norm used to compute the gradient, VX_NORM_L1 or VX_NORM_L2.
[out]outputThe output image in VX_DF_IMAGE_U8 format with values either 0 or 255.
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 vxuCannyEdgeDetector ( vx_context  context,
vx_image  input,
vx_threshold  hyst,
vx_int32  gradient_size,
vx_enum  norm_type,
vx_image  output 
)

[Immediate] Computes Canny Edges on the input image into the output image.

Parameters
[in]contextThe reference to the overall context.
[in]inputThe input VX_DF_IMAGE_U8 image.
[in]hystThe double threshold for hysteresis. The VX_THRESHOLD_INPUT_FORMAT shall be either VX_DF_IMAGE_U8 or VX_DF_IMAGE_S16. The VX_THRESHOLD_OUTPUT_FORMAT is ignored.
[in]gradient_sizeThe size of the Sobel filter window, must support at least 3, 5 and 7.
[in]norm_typeA flag indicating the norm used to compute the gradient, VX_NORM_L1 or VX_NORM_L2.
[out]outputThe output image in VX_DF_IMAGE_U8 format with values either 0 or 255.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSSuccess
*An error occurred. See vx_status_e.