Closed estebanrdo closed 8 months ago
Papers y código fuente:
Poisson Surface Reconstruction Poisson Surface Reconstruction with Envelope Constraints PoissonRecon
He descargado los ejecutables de PoissonRecon y probado los ejemplos pero no realiza el mallado aunque tampoco da ningún error. Incluye otro método de reconstrucción (SSDRecon - Smooth Signed Distance Surface Reconstruction) que si que funciona.
CloudCompare incluye un plugin de Poisson. El código esta disponible en GitHub. Es un fork de PoissonRecon en el que se incluye un wrapper para generar una librería. Incluye ficheros de CMake aunque el proyecto no esta muy bien hecho. En caso de que funcione, lo mejor es hacer un fork del repositorio original y hacer el proyecto de CMake desde cero.
He descargado los ejecutables de PoissonRecon y probado los ejemplos pero no realiza el mallado aunque tampoco da ningún error. Incluye otro método de reconstrucción (SSDRecon - Smooth Signed Distance Surface Reconstruction) que si que funciona.
En mi portatil si que funciona. Esto me hace suponer que se pueda tratar de un problema con la tarjeta gráfica.
El problema es que esta compilando con soporte para AVX2 y por eso da error en el PC. Al cambiar a AVX y compilar nuevamente ya funciona.
Para evitar problemas se ha creado un fork y se construirá el proyecto con CMake para no tener que volver a modificarlo a mano cada vez que actualicen la librería.
Al generar la malla, debido a la baja densidad de puntos en ciertas partes, pueden darse errores o zonas que se quieran evitar:
Para eliminar estas zonas hay que utilizar el parámetro density. Al utilizar density parece que es necesario llamar a samplesPerNode:
.\PoissonRecon.exe --in option-all.ply --out mesh3.pr.ply --depth 11 --density --samplesPerNode 5 --bType 3
Al generar el mallado de esta forma se puede utilizar el comando SurfaceTrimmer para quitar las zonas de baja densidad:
.\SurfaceTrimmer --in mesh3.pr.ply --out mesh3.pr.trimmer.ply --trim 7
Se ha añadido la herramienta de mallado al menú Workflow:
Añadir a Graphos el mallado con Poisson. Si el modelo no dispone de normales (son necesarias para la reconstrucción) se generarán previamente.