How do I draw a line along the major axis as found with regionprops

I have used the regionprops to find the MajorAxisLenth of each object in my image. How do I draw a line along the major axis?

 Respuesta aceptada

Walter Roberson
Walter Roberson el 29 de Jun. de 2011
If you get the Centroid and Orientation and MajorAxisLength properties, then this becomes mostly a traditional y = m*x + b problem, where m is tan() of the Orientation and b is chosen so that the line passes through the Centroid.
Or even easier, MajorAxisLength * cosd(Orientation) to get the x axis coordinate difference, center that around the Centroid, likewise MajorAxisLength * sind(Orientation) to get the y coordinate difference, center that around the Centroid; then line() between the two endpoints.

4 comentarios

How do I get the other points meaning the x and y co-ordinates of the ends of the major axis on the object?
Eric T
Eric T el 23 de Jun. de 2014
Editada: Eric T el 23 de Jun. de 2014
Pooja: say you have deltax and deltay, and centroid coordinate is x,y. Then the line ends are:
xVals=[x-deltax/2 x+deltax/2]
yVals=[y-deltay/2 y+deltay/2]
line(xVals,yVals) will plot the line.
What is delta x and delta y?
It's the width of the bounding box.
Now they have bwferet() so look into that.

Iniciar sesión para comentar.

Preguntada:

el 29 de Jun. de 2011

Comentada:

el 30 de Oct. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by