Borrar filtros
Borrar filtros

Line orientation in 3D from centroid and Euler angles

5 visualizaciones (últimos 30 días)
matnewbie
matnewbie el 19 de Jun. de 2018
Comentada: Saurabh Patel el 20 de Sept. de 2018
I used the regionprops3 function to detect centroid and Euler angles of cylinders of the same size in 3D space. Now I want to obtain the 3D coordinates of a line (of given length, representing the axis of the cylinders) passing through the centroid and oriented according to the three Euler angles. What kind of coordinate transformation should I consider?

Respuesta aceptada

Matt J
Matt J el 19 de Jun. de 2018
Editada: Matt J el 19 de Jun. de 2018
I think you'd be better off using regionprops3 to extract the Eigenvalues and Eigenvectors properties of the cylinders, instead of the Orientation property (which I assume you are using now). The eigenvector corresponding to the largest eigenvalue should give you the direction vector of the long axis of the cylinder directly.
  5 comentarios
Matt J
Matt J el 19 de Jun. de 2018
Editada: Matt J el 19 de Jun. de 2018
Well, as I said, the eigenvector corresponding to the largest eigenvalue is the direction vector. So, you have it already from
regionprops3(yourImage, 'Centroid','EigenVectors','EigenValues')
One thing to note. I believe the EigenVectors are the rows of the matrix given in the output of regionprops3, not the columns.
Saurabh Patel
Saurabh Patel el 20 de Sept. de 2018
I think eigenvectors are still the columns of eigenvector matrix but they are in image coordinates i.e. (row,col,page) and not in (x,y,z).
For (x,y,z) space, I think we need to represent it as {eigenvector(2,1), eigenvector(1,1), eigenvector(3,1)} for the major principal direction.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Linear Algebra en Help Center y File Exchange.

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by