follow - a contour follower |
[x,y] = follow(Img) [x,y] = follow(Img, 4) [x,y] = follow(Img, 8) |
Img |
binary array, 1 for object and 0 for background (double precision) |
x and y |
vectors, storing the parametrized contour. |
Function follow extracts parametric contours of binary objects. This is useful for further extracting object features such as curvature and bending energy. |
It is assumed that Img has only one object. |
x and y both store the parametrized contour. That is, (x(i),y(i)) is a point of the contour, where the coordinate system is assumed as starting from bottom-left corner (0,0) to uper-right corner of the image. To get the (row,col) matrix coordinates, use the transformation below: |
row = size(Img,'r') - y col = x+1 |
The second argument is an optional parameter, being 4 or 8 depending if the border following is to be made in 4- or 8-neighborhood sequence, yielding a 4- or 8-connected contour. |
follow(Img) equals follow(Img, 8). |
initial_dir = PWD; chdir (SIPDIR + 'images'); Img = imread('star.bmp'); xset('window',0) xbasc() imshow(Img,2); [x,y] = follow(Img); xset('window',1) xbasc() plot2d(1:size(x,'*'),x,2); plot2d(1:size(y,'*'),y,1); chdir(initial_dir); |
"Shape Analysis and Classification", L. da F. Costa and R. M Cesar Jr., CRC Press, pp. 335-347. |
Ricardo Fabbri <rfabbri@if.sc.usp.br> |
The latest version of the Scilab Image Processing toolbox can be found at |
http://siptoolbox.sourceforge.net |
unfollow, gsm, bwborder, curvature |