How does this function "regionprops" to find the orientation of any object?

18 views (last 30 days)
How does this function "regionprops" to find the orientation of any object?
  9 Comments
Image Analyst
Image Analyst on 29 Aug 2017
You'd use [y, x, z] = find(binaryImage) and then pass them into pca(). I don't have a demo for exactly that, but I'm attaching a demo of using pca to determine axes for a color gamut, for whatever that's worth.
Simone conigliaro
Simone conigliaro on 31 Aug 2017
thanks for your replay. i have another question to ask you. i would like to know what is the method that regionprops label the object? because i used this function to get centroid and volume(sum voxel for each blob)but i don't understand this aspect. thank you very much

Sign in to comment.

Accepted Answer

David Legland
David Legland on 22 Oct 2013
Hi Marian,
the code is in the regionprops function, you can access it via "edit regionprops", and checking the "ComputeEllipseParams" function.
The principle is to compute the inertia ellipse of a shape. It is obtained by computing normalised centered moments. The matrix of Inertia is obtained from the normalised moments of order 2 : Ixx, Ixy, and Iyy. By extracting eigen values and eigen vectors of the inertia matrix, it is possible to obtain the direction of the first eigen vector, that is converted into angle.

More Answers (1)

Image Analyst
Image Analyst on 22 Oct 2013
It fits the blob to an ellipse and then gets the angle of the major axis of the ellipse from the horizontal. Note: the major axis of the fitted ellipse is not the farthest distance between two points in the blob.

Community Treasure Hunt

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

Start Hunting!