Rectificar imágenes con Rectifi y QGis
Sábado, 01 de Diciembre de 2012 10:14
Un aspecto que me viene preocupando desde hace tiempo, a la hora de emplear la fotografía panorámica en ámbitos científicos o patrimoniales, es la fidelidad geométrica que nos ofrece una u otra proyección o el mismo proceso de ensamblado de imágenes. Cierto es que toda imagen fotográfica, posee una serie de perversiones geométricas derivadas del tipo de lente y evidentemente la perspectiva, sin embargo es en la técnica panorámica, aún siendo de menos de 180º donde más me inquietan los aspectos geométricos de la imagen.
Sin embargo dicha situación no debería resultar preocupante ya que el ensamblado de imágenes en disciplinas como la fotografía aérea y en definitiva el procesamiento de imágenes para GIS es algo tremendamente rutinario y preciso, sin embargo dichas técnicas se quedan en el ámbito de la cartografía o topografía y raras veces trascienden al fotógrafo.
Para dotar de validez geométrica o dimensional a una fotografía, ya sea de una sola toma o una panorámica resultado del ensamblado de un moisaico de imágenes, es preciso rectificar dicha imagen para aproximarnos al concepto de lo que se entidende por ortofoto, o lo que es lo mismo una representación exacta geometricamente hablando, de todos los elementos contenidos en dicha toma, libres de errores de perspectiva y escala tal y cómo lo haría un mapa, de hecho las ortofotos son la base para el dibujo de mapas. Realmente la realización de una buena ortofoto es un poco más complejas ya que se suelen obtener por fotogrametría, imagen estereoscópica, modelos del terreno, etc ya que se busca minimizar en lo posible las distorsiones del terreno u objetos al ser proyectadas en una imagen 2D. Herramientas recientes basadas en el SFM como CMPCMVS ya incorporan recientemente salida para ortofotos y en general cualquier herramienta de fotogrametría profesional es capaz de generar este tipo de imágenes.
Rectificar una imagen es un proceso altamente relevante a la hora de realizar mediciones dentro de la propia imagen, aunque existen técnicas muy sencillas para asignar una escala y posteriormente realizar mediciones en una imagen estas son escasamente válidas si existe una cierta perspectiva en la toma, ya que dicha escala no se cumplirá por igual en todas partes de la escena.
El proceso de rectificado de una imagen sucede a partir de las coordenadas de puntos conocidos dentro de nuestra escena. Por ejemplo, si hablamos en términos geográficos, para rectificar una imagen aérea necesitamos localizar ciertos puntos en la imagen cuyas coordenadas geográficas conocemos, es lo que también se conoce en ciertos procesos como georreferenciar una imagen. Para nuestras tomas de alzados, objetos u escenas el principio es el mismo, siendo necesario dejar unas ciertos testigos o puntos de referencia en la escena cuyas coordenadas entre ellos conocemos.
Como ejemplo voy a rectificar una simple imagen de mi Colorchecker realizada con un poco de perspectiva, para ello necesito conocer las coordendas de las las marcas de esquina de forma que si dichas marcas se encuentran formando un rectángulo cuyo ancho o lado mayor es de 9 cm y su altura es de 6 cm, las coordenadas X,Y de dichas esquinas serán (0,0) (9,0) (0,6) (9,6) tal y como se puede ver en la imagen de la izquierda.
El proceso de rectificado necesita estas coordenadas para relacionarlas con las coordenadas de los pixeles que representan dichos puntos con el fin de corregir la imagen hasta hacer cumplir la relación de dichas coordenadas sobre nuestra imagen.
Para el proceso de rectificación vamos a usar una herramienta libre denominada RECTIF disponible para Linux o Windows por línea de comandos o visualmente a través del plugin de georreferenciado de la herramienta Quantum GIS Desktop (QGis) también disponible para Win, Linux y Mac, personalmente todo el proceso lo he probado sobre Ubuntu.
El uso de RECTIF es bastante simple, aunque puede llegar a ser un poco tedioso, ya que es necesario crear un pequeño fichero ASCII con la información o correspondencias de coordenadas en relación a los pixeles que describen nuestros puntos de referencia.
El formato del archivo que deberá poseer el mismo nombre que nuestra imagen con extensión .points, por ejemplo: P1100298.JPG.points
mapX mapY pixelX pixelY 0.000000000000000 0.000000000000000 573.235127478753384 -1178.923512747875293 9.000000000000000 0.000000000000000 1655.841359773371096 -601.019830028328556 0.000000000000000 6.000000000000000 361.337110481586251 -531.671388101982984 9.000000000000000 6.000000000000000 1255.161473087818649 -88.611898016997202
Donde las dos primeras columnas representan nuestras coordenadas, las dos siguientes las coordenadas X e Y de los píxeles de la imagen donde se ubican nuestras marcas o puntos de referencia, que podemos obtener fácilmente con nuestro PS o GIMP. Y las filas se corresponden con el número de puntos establecidos.
Hay que prestar mucha atención a la coherencia de nuestras coordenadas ya que de lo contrarío nuestra imagen rectificada se creará con importantes distorsiones.
Una vez construido este documento, simplemente invocamos a RECTIF con el comando:
rectif P1100298.JPG
De forma que no es necesario indicar como parámetro el archivo de puntos ya que se deduce el nombre de nuestra imagen.
El resultado del proceso es una imagen en formato PNG. Con RECTIF no tenemos opciones a más configuraciones ni parámetros. Esta herramienta solo acepta imágenes JPG como formato de entrada.
La segunda vía para este proceso es usar la herramienta QGis. Para ello primeramente tenemos que descargar desde el menú de complementos el plugin de Georreferenciador GDAL, que se ubicará bajo el menú Ráster una vez activado.
Desde el submenú de georreferenciado se nos abre una nueva ventana en la aplicación donde podemos cargar nuestra imagen ya sea TIFF o JPEG, e ir colocando los puntos de forma visual sobre nuestra imagen así como definiendo las coordenadas de cada punto. Una vez finalizado el proceso hay que definir algunos atributos del proceso en el icono de Configuración de la Transformación, de forma que indiquemos la ruta de salida para nuestra imagen rectificada, y el tipo de transformación (Proyecctivo, Polinomial, Helmert o Lineal) cada uno de estas transformaciones tienen ligeras implicaciones en la geometría de la imagen final, las mejores opciones quizás sean Proyectivo o Polinomial. También podemos escoger los habituales modelos de remuestreo de imagen.
Durante estos procesos de nos preguntará sobre el sistema de referencia de coordenadas, este es un aspecto inherente a los trabajos geográficos ya dado que nosotros solo vamos hacer una rectificación, tiene poco interés para nuestro objetivo, en cualquier caso por defecto podemos usar el WGS84 ya que es el estándard.
Una vez ajustados dichos parámetros ya podemos activar el botón de play, para generar nuestra imagen rectificada según nuestras coordenadas. De forma paralela, podemos guardar el listado de puntos y coordenadas con el citado formato .points para poder ser usado en RECTIF de forma independiente a la rectificación que pueda hacer QGIS. Mencionar que el archivo .points generado por QGIS esta separado por comas y no espacios de forma que tendríamos:
mapX,mapY,pixelX,pixelY,enable 0.000000000000000,0.000000000000000,573.235127478753384,-1178.923512747875293,1 9.000000000000000,0.000000000000000,1655.841359773371096,-601.019830028328556,1 0.000000000000000,6.000000000000000,361.337110481586251,-531.671388101982984,1 9.000000000000000,6.000000000000000,1255.161473087818649,-88.611898016997202,1
Teóricamente para usar este formato con RECTIF solo hay que usar el parámetro “q” de forma que nos quede esto:
rectif P1100298.JPG q
Personalmente esta situación no me ha funcionando, arrojando RECTIF diversos errores, desconozco le motivo, o si es algo exclusivo de la versión que he probado. La solución es fácil, ya que simplemente hay que sustituir las comas por espacios y ya es posible usar dicho documento perfectamente.
Durante el uso de QGIS también se nos va a generar un archivo .pgw con la información de georreferenciado de nuestra imagen, imprescindible para construir mosaicos a partir de ortofotos.
El resultado de rectificación es bastante espectacular y sencillo más allá de la planificación de ubicar los puntos de referencia en nuestra escena, ya que nuestra imagen es corregida hasta ajustarla a las coordenadas de dichos puntos, por lo que es un proceso altamente recomendable si queremos dotar nuestras imágenes de una cierta rigurosidad geométrica, más allá de los efectistas resultados de la fotografía panorámica o los grandes angulares.
< Prev | Próximo > |
---|