Curvature of a contour
K = curvature(BW [,sigma, delta])
K = curvature(x,y [,sigma, delta])
Function curvature calculates the curvature at each point of a binary contour, using FFT and a formula from differential geometry.
initial_dir = PWD; chdir (SIPDIR + 'images'); Img = imread('star.bmp'); clf imshow(Img,2); k = curvature(Img,13); // 13 sigma (shape is smoothed so curvature exists) clf plot(k) // // observe there are six curvature peaks, // corresponding to the six peaks of the star. There // is one peak half at 0 and half at about 450. // That's because the parametrization of // the contour started at the highest peak and // terminated there. Note also that the shape had to // be considerably smoothed so the curvature doesn't // blow up at the very sharp peaks of the star. // chdir(initial_dir);
"Shape Analysis and Classification", L. da F. Costa and R. M. Cesar Jr., CRC Press.
"Differential Geometry of Curves and Surfaces", Manfredo P. do Carmo, Prentice Hall, 1976.