Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 1.42 KB

EdgeDetection.md

File metadata and controls

5 lines (3 loc) · 1.42 KB

Edge Detection

Edge Detection is implemented using a Canny edge detection algorithm. It is a multi-stage algorithmdeveloped by John F. Canny in 1986. Our implementation uses a variation of the original version,which consists of five steps: grayscale, noise reduction using Gaussian filter, gradient calculation, non-maximum suppression, threshold and edge tracking. It first turns the image into a grayscale version,using the grayscale implementation specified in Section 3.1.2. Next, the image will be blurred using a Gaussian filter with a radius of 4 to perform noise reduction. Subsequently, the algorithm uses the Sobel filters shown in Equation 3 to calculate the gradient of the image by convolving the Sobel filters withimage pixels. This is to highlight the edges. The reason of using the Sobel filters relies on the definition of edges in images: edges correspond to a change of pixels’ intensity. To detect it, the easiest way is toapply filters that highlight this intensity change in both directions: horizontal (x) and vertical (y). Thenext step is to perform non-maximum suppression, which produces thin edges by keeping pixels withhigher intensity in the same direction of the gradient. Finally, threshold and edge tracking is performedby marking strong and weak pixels, and keeping pixels that are relevant to the edges to produce the final result.

See the project report for more details.