es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo alinear / registrar dos mallas en Open3d? (Python)

Tengo dos archivos .ply que contienen mallas de objetos que son similares en forma y que inicialmente no están alineados. Me gustaría lograr una registro global para los dos objetos de malla. ¿Hay alguna manera de hacer esto sin tener que importar los datos de la nube de puntos, hacer una registro global y luego reconstruir la malla?

He intentado los pasos listados en la documentación de open3d (http://www.open3d.org/docs/0.12.0/tutorial/pipelines/global_registration.html) y funciona bien para las nubes de puntos. Sin embargo, reconstruir una malla a partir de las nubes de puntos es un desafío, ya que tienen una forma relativamente compleja, por lo que me gustaría evitarlo.

¡Gracias de antemano!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en python, registro, malla (mesh), open3d y trimesh, hay una forma de lograr un registro global para los dos objetos de malla sin importar inicialmente los datos de la nube de puntos, realizando un registro global y luego reconstruyendo la malla. Uno de los enfoques es usar descriptores de características para extraer características de cada malla, luego hacer coincidir esas características entre las dos mallas para obtener correspondencias iniciales. Open3d proporciona un método llamado “registration_fast_based_feature_matching” que se puede utilizar con ese fin. Una vez obtenidas las correspondencias iniciales, se puede utilizar el método “registration_icp” para afinar la alineación. La salida de este proceso serán los dos objetos de malla alineados. Sin embargo, vale la pena señalar que este enfoque puede no siempre proporcionar una alineación perfecta, especialmente para formas complejas, por lo que es posible que todavía se requiera cierto ajuste manual.

Comments are closed.