MATLAB Answers

How to draw circle with imellipse?

32 views (last 30 days)
Steven on 18 Jan 2014
Edited: Image Analyst on 18 Feb 2019
I want to draw a circle with imellipse. I used something like:
AA = imellipse(gca,[xmin ymin radius radius]);
but I can only specify the xmin and ymin of the circle, while I want to specify the center.
How can I do so?


Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 18 Jan 2014


Image Analyst
Image Analyst on 18 Jan 2014
If you really want to do it with imellipse, you can just compute the xmin and ymin from the diameter. By the way, imellipse takes width and height (diameter) not radius.
diameter = 10;
radius = diameter / 2;
xCenter = 60;
yCenter = 30;
xMin= xCenter - radius;
yMin = yCenter - radius;
hEllipse = imellipse(gca,[xMin, yMin, diameter, diameter]);
% Plot center
hold on;
plot(xCenter, yCenter, 'r+', 'LineWidth', 5, 'MarkerSize', 20);
grid on;

Sign in to comment.

More Answers (1)

Tim Jackman
Tim Jackman on 25 Sep 2018
In R2018b you can create a circular ROI with the drawcircle function.


Image Analyst
Image Analyst on 25 Sep 2018
Very nice new function (finally!).
Matt J
Matt J on 18 Feb 2019
Unfortunately, drawcircle doesn't seem to come with a wait method letting you finalize the position of the circle, nor either features of the imroi classes like positionConstraintFcns.
Image Analyst
Image Analyst on 18 Feb 2019
It does have a 'DrawingArea' option to restrict the drawing area to what you specify.
Have you tried waitfor()?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!