How Sobel Operator works in edge function?

Illustration
c_j - 2023-02-06T13:19:42+00:00
Question: How Sobel Operator works in edge function?

What does the edge function do when using the Sobel operator? How to automatically choosing a threshold? The edge is different from my own Sobel function.  

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

The sobel operator is used in Image processing edge detection, it works in the following manner
1.) Compute gradient in X direction
This can be done by multiple methods, simplest is to use conv2 function, call the resultant image Gx
2.) Compute gradient in Y direction
This can be done by multiple methods, simplest is to use conv2 function, call the resultant image Gy
3.) Obtain magnitude of the resultant image
I = sqrt(Gx*Gx + Gy*Gy)
4.) Choose threshold based on application
 
the following lines of code does all the above steps
 
G  = imread('cameraman.tif')
Gx = conv2(G , [1 0 -1;...
                2 0 -2;...
                1 0 -1]); 
Gy = conv2(G , [1  2  1;...
                0  0  0;...
               -1 -2 -1]);
I = sqrt(Gx.*Gx + Gy.*Gy);
I_final = I > 150  % choose the thresold on your application need, experiment with different value to pick the best 
imshow(255*I_final)
OR
you can use the inbuilt function in MATLAB that does the same functionality
 
I = imread('cameraman.tif');
I = edge(I, 'sobel') % there are also other operators like canny
imshow(I)

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!