POLYNOMIALCURVESETFIT Fit a set of polynomial curves to a segmented image. COEFS = polynomialCurveSetFit(IMG); COEFS = polynomialCurveSetFit(IMG, DEG); Result is a cell array of matrices. Each matrix is DEG+1-by-2, and contains coefficients of polynomial curve for each coordinate. IMG is first binarised, then skeletonized. Each cure [COEFS LBL] = polynomialCurveSetFit(...); also returns an image of labels for the segmented curves. The max label is the number of curves, and the length of COEFS. Requires the toolboxes: - Optimization - Image Processing Example % Fit a set of curves to a binary skeleton img = imread('circles.png'); % compute skeleton, and ensure one-pixel thickness skel = bwmorph(img, 'skel', 'Inf'); skel = bwmorph(skel, 'shrink'); figure; imshow(skel==0) coeffs = polynomialCurveSetFit(skel, 2); % Display segmented image with curves figure; imshow(~img); hold on; for i = 1:length(coeffs) hc = drawPolynomialCurve([0 1], coeffs{i}); set(hc, 'linewidth', 2, 'color', 'g'); end See also polynomialCurves2d, polynomialCurveFit
Package: matgeom