Asher Hazanchuk Altera Corporation 101 Innovation Dr. San Jose, CA 95134 (408) 544 7000 email@example.com The basic edge-detection operator is a matrixarea gradient operation that determines the level of variance between different pixels. The edge-detection operator is calculated by forming a matrix centered on a pixel chosen as the center of the matrix area. If the value of this matrix area is above a given threshold, then the middle pixel is classified as an edge. Examples of gradient-based edge detectors are Roberts, Prewitt, and Sobel operators. All the gradient-based algorithms have kernel operators that calculate the strength of the slope in directions which are orthogonal to each other, commonly vertical and horizontal. Later, the contributions of the different components of the slopes are combined to give the total value of the edge strength. The Prewitt operator measures two components. The vertical edge component is calculated with kernel Kx and the horizontal edge component is calculated with kernel Ky. |Kx| + |Ky| gives an indication of the intensity of the gradient in the current pixel.
-1 -1 -1
0 0 0
1 1 1
1 1 1 0 0 0 -1 -1 -1
Figure 1: Prewitt horizontal and vertical operators Depending on the noise characteristics of the image or streaming video, edge detection results can vary. Gradient-based algorithms such as the Prewitt filter have a major drawback of being very sensitive to noise. The size of the kernel filter and coefficients are fixed and cannot be adapted to a given image. An adaptive edge-detection algorithm is necessary to provide a robust solution that is adaptable to the varying noise levels of these images to help distinguish valid image content from visual artifacts introduced by noise. III. Canny Edge Detection Algorithm
An embedded soft processor refers to a reconfigurable processor which resides on the FPGA fabric.
The Canny algorithm uses an optimal edge detector based on a set of criteria which include finding the...