Compute equivalent ellipse with same second order moments as polygon.
ELLI = polygonEquivalentEllipse(POLY)
Example
% convert an ellipse to polygon, and check that it equivalent ellipse
is close to original ellipse
elli = [50 50 50 30 20];
poly = ellipseToPolygon(elli, 1000);
polygonEquivalentEllipse(poly)
ans =
50.0000 50.0000 49.9998 29.9999 20.0000
% compute equivalent ellipse of more complex figure
img = imread('circles.png');
img = imfill(img, 'holes');
figure; imshow(img); hold on;
B = bwboundaries(img);
poly = B{1}(:,[2 1]);
drawPolygon(poly, 'r');
elli = polygonEquivalentEllipse(poly);
drawEllipse(elli, 'color', 'g', 'linewidth', 2);
See also
polygons2d, polygonSecondAreaMoments, polygonCentroid,
equivalentEllipse, ellipseToPolygon
Package: matgeom