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?

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 29 Jun. 2011

3 Stimmen

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 Kommentare

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 am 23 Jun. 2014
Bearbeitet: Eric T am 23 Jun. 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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by