Inicio | Apuntes breves | Cargando calcos o imágenes procesadas como textura de un modelo 3D con MeshLab

Cargando calcos o imágenes procesadas como textura de un modelo 3D con MeshLab

Sábado, 27 de Septiembre de 2014 22:57

dstretch fotogrametria arte rupestreUno de los procesos que se nos podría plantear en las tareas de documentación, o más bien, en este caso ya de interpretación o divulgación, es montar un archivo de imagen como un mapa de textura UV fruto de un postproceso digital, tales como un calco digital o imagen procedente de un trabajo de teledetección.

Para ello vamos necesitar “registrar” nuestra imagen como una cámara de nuestro modelo, para luego usar esta información para generar el mapa de textura UV. Aunque este proceso se puede hacer con herramientas mas pesadas como Blender, lo cierto es que MeshLab nos aporta todas las opciones necesarias para realizar dicho proceso en muy pocos pasos.

dstretch fotogrametria rock artEn este ejemplo vamos a usar un simple proceso de fotointerpretación consistente en procesar nuestra ortoimagen con DStretch, para posteriormente generar una serie de máscaras de color para aislar los motivos. En este punto existen centenares de opciones, hemos elegido este “efecto” como mero ejemplo.

Como material base para este ejercicio vamos a partir de una nube de puntos densa y una ortoimagen. En este punto es importante matizar lo de “ortoimagen” ya que el uso de fotografías convencionales, las cuales por su naturaleza poseen una perspectiva cónica, inducen errores geométricos a la hora de interpretar formas o proyectar nuestra imagen sobre nuestro modelo.

Es posible usar fotografías convencionales, pero estas deben ser orto-rectificadas previamente para partir de imágenes lo más neutras posible en errores de perspectiva. En este ejemplo voy a partir de un modelo (nube de puntos densa) y una ortoimagen que provienen de un flujo de trabajo con Apero MicMac, con la ventaja de que el modelo es generado en base al mismo punto de vista de la ortoimagen por tanto encajarlos con Meshlab es bastante sencillo.

Reconstrucción de la superficie:

fotogrametria arte rupestreEl primer paso es convertir nuestra nube de puntos en una superficie, para ello simplemente vamos a Filters > Point Set > Surface Reconstruction: Poisson, e introducimos los valores Octree Depth de 10 y Solver Divide de 8. Tras generar la textura, eliminamos los defectos de interpretación y dejamos listo el modelo para su texturización.

Registrar una imagen ráster como cámara.

arte rupestre fotogrametriaCon nuestro modelo de superficie (malla) cargado, vamos a Archivo > Importar Raster y elegimos nuestra ortoimagen postproducida con nuestro calco digital. Para mostrar nuestra imagen ráster en nuestro layout debemos activar el botón del menu superior bajo el nombre de "Show Current Raster Mode". Tras activar este comando, nuestro modelo desaparecerá del layout, para ello pulsamos Ctrl+H o Cmd+H para recuperarlo. A continuación debemos encajar nuestro modelo con nuestra imagen. Para ello es interesante fijar nuestro FOV a la posición “Ortho” (Shift+desplazamiento ratón hasta que el FOV baje hasta la posición Ortho) lo cual nos permitirá tener un mismo punto de vista (proyección) de nuestro modelo 3D respecto a nuestra imagen ráster. Con un poco de pericia podremos encajar sin mucho esfuerzo nuestro modelo sobre nuestra imagen ráster.

Si no estamos familiarizados con Meshlab, indicar que con la rueda del ratón podemos modificar la trasparencia de la imagen ráster, y manteniendo pulsada la tecla shift podemos alejar y acerar el modelo, y manteniendo pulsado ctrl podemos moverlo en x e y.

set_camaraTras encajar el modelo, debemos “registrar” esa imagen ráster como cámara. Para ello tenemos que usar el comando “set ráster camera”. Este comando en Windows se encuentra en el menú Filters > Camera, pero en Linux y Mac se encuentra en el panel de proyecto en menú contextual de la imagen ráster.

El comando “set ráster camera” abre un panel, en el cual dejamos seleccionado “Current Trackball” y a continuación pulsamos “Get Shot” y Apply.

Creación del mapa de textura.

texturizarUna vez registrada la cámara, ya podemos proceder a crear el mapa de textura UV, para ello vamos a Filters > Texture > Parameterization + Texturing from Registerd Rasters, y simplemente elegimos el tamaño de nuestra textura la cual deberá ser algo alta (> 4000) para preservar el máximo detalle posible.

Finalmente guardamos nuestro modelo, junto con el mapa de textura UV generado en dicho proceso. Si queremos revisar nuestro mapa de textura antes de guardar la imagen podemos ir a Render > Show UV tex param. Para ver el modelo final, debemos guardar el modelo y volverlo a abrir.

Conclusiones.

modelo_final_dStrechComo vemos “interpretar” o postprocesar imágenes con el fin de usarlas como mapas de textura en nuestros modelos procedentes de fotogrametría, es francamente sencillo con Meshlab.

En estos procesos debemos prestar atención en trabajar con ortoimágenes, que con herramientas como Apero Micmac son muy sencillas de generar. El no trabajar con ortoimágenes, induce errores de proyección por efectos de la perspectiva sobre el modelo.

Este tipo de proceso, además de las evidentes ventajas pedagógicas y divulgativas, nos permite una mejor interpretación de nuestros calcos o trabajosde fotointerpretación respecto al volumen y geometría de nuestro abrigos.

Podeis ver el resultado de este proceso sobre el abrigo Mas d'en Josep en el barranco de la Valltorta.

x-rite Professional LED Lighting, DSLR Support and Accessories for Photo and Video BabelColor asociacion española de imagen cientifica y forense