ellipses on image
    7 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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 commentaire
  Image Analyst
      
      
 le 8 Juil 2012
				"Burn" it into the image pixels, or just display above the image in the overlay (without changing image pixel values at all)?
Réponses (2)
  Walter Roberson
      
      
 le 8 Juil 2012
        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 commentaires
  Richard Brown
      
 le 9 Juil 2012
				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
      
      
 le 9 Juil 2012
				I have no objection to using a rotation matrix instead of hgtransform() :-)
Voir également
Catégories
				En savoir plus sur Logical dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




