edge - edge detection |
E = edge(Img) E = edge(Img, named_args) E = edge(Img, method) E = edge(Img, method, thresh) E = edge(Img, method, thresh, direction) E = edge(Img, method, thresh, direction, sigma) |
Img |
M x N Grayscale (intensity) image in any range. |
method |
may be 'sobel'(default), 'prewitt' or 'fftderiv'. Other methods will appear in the future. |
thresh |
sets the threshold level, from 0 to 1. Defaults to 0.5. If negative, then the output image, E, will have the un-thresholded gradient image. |
direction |
may be 'horizontal', 'vertical' or 'both'(default). This determines the direction to compute the image gradient. |
sigma |
Controls the ammount of high-frequency attenuation in some methods (only the 'fftderiv' method uses this parameter). This can be used to obtain different levels of detail and to filter out high-frequency noise. Defaults to 1. |
<named_args> |
this is a sequence of statements key1=value1, key2=value2,... where key1, key2,... can be any of the optional arguments above, in any order. |
The function edge performs edge detection on a grayscale intensity image. The user may set the method, the threshold level and the direction of the edge detection. |
edge(Img) Detects edges in Img, using the sobel gradient estimator, 0.5 threshold level and in both horizontal and vertical directions. |
The other parameters are optional and non-positional. That is, they may be passed to the function by their name. The following example illustrates this. |
initial_dir = PWD; chdir (SIPDIR + 'images'); Img = imread('tru.jpg'); Img = im2gray(Img); xbasc() imshow(Img); e = edge(Img); // sobel, thresh = 0.5 xbasc() imshow(e,2) e = edge(Img,'prewitt'); // thresh = 0.5 xbasc() imshow(e,2) e = edge(Img,'fftderiv', 0.4); // FFT gradient method; 0.4 threshold xbasc() imshow(e,[]) // It is useful to thin the edges, eliminating redundant pixels: e = thin(e); xbasc() imshow(e,[]) e = edge(Img,'fftderiv',sigma=3,thresh=-1); // thicker edges, no threshold xbasc() imshow(e,[]) e = edge(Img,thresh=-1); xbasc() imshow(e,[]) chdir(initial_dir); |
In the future, more sophisticated algorithms like Canny and Marr-Hildreth will be available, while maintaining the same interface. |
"Shape Analysis and Classification", L. da F. Costa and R. M. Cesar Jr., CRC Press, section 3.3. |
Ricardo Fabbri <rfabbri@if.sc.usp.br> |
The latest version of the Scilab Image Processing toolbox can be found at |
http://siptoolbox.sourceforge.net |
bwborder, mogrify, im2gray, imconv, mkfilter |