edge parameter calculation
Mostra commenti meno recenti
how to use the Sobel edge detection method to detect image edges (IE) is obtained by filtering an input image with two convolution kernels concomitantly, one to detect changes in vertical contrast (hx) and the other to detect horizontal contrast (hy ), shown in equation (1). Image output (IE ) is obtained by calculating the gradient magnitude of each pixel, as shown in equation (2). Subsequently, the edge parameter (E) is calculated, whereby E (r, c) is increased by one each time when IE (x, y) = ‘1’ in a supervised block, as shown in equation (3) Hx = ? ? ? ? ? ? ? ? ? ? ? ? ? 1 0 1 2 0 2 1 0 1 ,Hy = ? ? ? ? ? ? ? ? ? ? ? ? ? 1 2 1 0 0 0 1 2 1 (1) I (x, y) I 2 (x, y) I 2 (x, y) E x y = + (2) ? ? = == x y B E r c IEP ( , ) ( , ) ( 1) (3)
Risposte (1)
David Young
il 3 Mar 2011
If you have the Image Processing Toolbox, the Sobel edge detector is available as one of the methods implemented in the EDGE function. See
doc edge
4 Commenti
bhargavi
il 3 Mar 2011
David Young
il 3 Mar 2011
Can you explain what you mean "can't get the result". Is there an error message? I'll make a guess at one possible problem, and suggest you try bw = edge(double(i), 'sobel');
bhargavi
il 23 Mar 2011
David Young
il 28 Mar 2011
So I guess the array i is not two-dimensional. You can use the size function to see whether it is or not.
If the array is three-dimensional because it is an RGB image, you could use rgb2gray to convert it to s 2-D grayscale image.
Categorie
Scopri di più su Object Analysis in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!