MATLAB: Optimize ellipse to fit shapes in images

image analysis fminconoptimization

Hi,
Given an image with various shapes, I am trying to fit ellipses that match these shapes the best by varying the ellipse parameters a, b and the angle of the ellipse. So far, using a for-loop and trying all possible combination results in code that works very well but is dreadfully slow (script takes more than 20 min per ellipse and I have hundreds of ellipses to fit).
I wonder, therefore, whether MatLab has a good optimization tool for this. Basically, I feed the ellipse-function the image, the x- and y-pixel coordinates and want it to find the optimal ellipse angle and a and b values (given constraints on a and b). My question is, is there a good, robust and fast way of doing this in MatLab?

Best Answer

You're in luck! This is a built-in capability. Take a look at regionprops() in the Image Processing Toolbox. You'll need the MajorAxisLength, MinorAxisLength, and Orientation measurements so be sure to ask regionprops to return those measurements.
Related Question