How does this function "regionprops" to find the orientation of any object?
20 views (last 30 days)
Show older comments
marian wagdy
on 22 Oct 2013
Commented: Simone conigliaro
on 31 Aug 2017
How does this function "regionprops" to find the orientation of any object?
9 Comments
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
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
Accepted Answer
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.
2 Comments
More Answers (1)
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.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!