Revision as of 15:17, 23 April 2017 by Ssodha (Talk | contribs)


An Implementation of Sobel Edge Detection

by Sean Sodha


Introduction

Edge Detection is when we use matrix math to calculate areas of different intensities of an image. After finding all of the large differences in intensities in the picture, we have covered all of the edges in the picture.Sobel Edge detection is a widely used form of image processing. Along with Canny and Prewitt, Sobel is one of the most popular edge detection algorithms used in today's technology.


The Math Behind the Algorithm

When using Sobel Edge Detection, the image is processed in the X and Y directions separately first, and then combined together to form a new image which represents the sum of the X and Y edges of the image. However, these images can be processed separately as well. That will be covered later in this document.

When using a Sobel Edge Detector, it is first best to convert the image from an RGB scale to a Grayscale image. Then from there, we will use what is called kernel convolution. A kernel is a 3 x 3 matrix consisting of differently (or symmetrically) weighted indexes. This will represent the filter that we will be implementing for an edge detection.

When we want to scan across the X direction of an image for example, we will want to use the following X Direction Kernel to scan for large changes in the gradient. Similarly, when we want to scan across the Y direction of an image, we could also use the following Y Direction Kernel to scan for large gradients as well.


Edge Detection Example


Common Issues with Sobel Edge Detection


References



Back to 2017 Spring ECE 438 Boutin

Alumni Liaison

has a message for current ECE438 students.

Sean Hu, ECE PhD 2009