ellipses on image

hi; I have a set of ellipses where each ellipse is defined by its center position (x,y) , an orientaion angle teta, major axe a and a minor axe b. i want to find a way in order to draw those ellipses on a given image* Img* . any idea please? thank you

1 件のコメント

Image Analyst
Image Analyst 2012 年 7 月 8 日
"Burn" it into the image pixels, or just display above the image in the overlay (without changing image pixel values at all)?

サインインしてコメントする。

回答 (2 件)

Walter Roberson
Walter Roberson 2012 年 7 月 8 日

0 投票

One way is to calculate a circle such as is described in the FAQ. Make it a unit circle as you first calculate it. Multiply the x coordinates by (a/2) and the y coordinates by (b/2). Then use hgtransform() to rotate it around the angle. Finally, add the center coordinates to the transformed results.

4 件のコメント

Richard Brown
Richard Brown 2012 年 7 月 9 日
almost easier to just do
theta = linspace(0, 2*pi, 100);
plot(a * cos(theta) + xc, b * sin(theta) + yc)
isn't it?
Walter Roberson
Walter Roberson 2012 年 7 月 9 日
That sequence does not allow the ellipse to be rotated. Also, it would use "a" and "b" as the size of the semi-major and semi-minor axis rather than as the size of the major and minor axis (that's why I divided by 2)
Richard Brown
Richard Brown 2012 年 7 月 9 日
Sorry, didn't read the question properly:
phi = linspace(0, 2*pi, 100);
Q = [cos(theta), -sin(theta); sin(theta), cos(theta)];
X = bsxfun(@plus, [xc; yc], Q * [a/2 * cos(phi); b/2 * sin(phi)]);
plot(X(1, :), X(2, :))
... yes, your way may be cleaner :)
Walter Roberson
Walter Roberson 2012 年 7 月 9 日
I have no objection to using a rotation matrix instead of hgtransform() :-)

サインインしてコメントする。

Ryan
Ryan 2012 年 7 月 9 日
編集済み: Ryan 2012 年 7 月 9 日

0 投票

Use pdeellip (if you have the PDE toolbox):
pdeellip(xc,yc,a,b,phi)
Where:
(xc,yc) = centroid
(a,b) = semiaxes
phi = rotation of ellipse

カテゴリ

タグ

質問済み:

2012 年 6 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by