Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Registrar una fotografía aérea en una ortofoto digital

En este ejemplo se muestra cómo utilizar la asignación de puntos de control para realizar el registro de imágenes.

Lea las imágenes de muestra y muéselas.

orthophoto = imread('westconcordorthophoto.png'); figure, imshow(orthophoto) unregistered = imread('westconcordaerial.png'); figure, imshow(unregistered)

En este ejemplo, la imagen fija es , la ortofoto georegistrada de MassGIS.westconcordorthophoto.png Es una imagen pancromática (escala de grises), suministrada por el Sistema de Información Geográfica de Massachusetts (MassGIS). La imagen se ha ortorrectificado para eliminar las distorsiones de la cámara, la perspectiva y el relieve a través de un proceso de transformación de imagen especializado. La imagen también está georegistrada (y geocodificada): las columnas y filas de la imagen ortofoto digital están alineadas con los ejes del sistema de coordenadas del plano estatal de Massachusetts. Cada centro de píxeles corresponde a una ubicación geográfica definida y cada píxel es de 1 metro de cuadrado en unidades de mapa.

La imagen en movimiento es , una fotografía aérea digital suministrada por mPower3/Emerge.westconcordaerial.png Es una imagen RGB de color visible. La imagen no está corregida geométricamente: incluye la perspectiva de la cámara, el terreno y el relieve del edificio, las distorsiones internas (lentes), y no tiene ninguna alineación particular con la tierra.

En el ejemplo se leen ambas imágenes en el espacio de trabajo. La función acepta imágenes del espacio de trabajo o vectores de caracteres que especifican la ruta del archivo para las imágenes.cpselect

Seleccione pares de puntos de control correspondientes en ambas imágenes, utilizando la herramienta Selección de punto de control. Los puntos de control son puntos de referencia que se pueden encontrar en ambas imágenes, como una intersección de carretera o una entidad natural. Para iniciar esta herramienta, escriba , especificando como argumentos las imágenes en movimiento y fijas.cpselect

cpselect(unregistered, orthophoto)

Guarde los pares de puntos de control en el espacio de trabajo. En la herramienta Selección de punto de control, haga clic en el menú y elija la opción.ArchivoExport Points to Workspace

Por ejemplo, el siguiente conjunto de puntos de control en la imagen en movimiento representa coordenadas espaciales. La columna izquierda enumera las coordenadas y las listas de columnas derechas -coordenadas.xy

moving_points =    118.0000   96.0000   304.0000   87.0000   358.0000  281.0000   127.0000  292.0000

Opcionalmente, puede ajustar la ubicación del par de puntos de control mediante la función.cpcorr Para utilizar la correlación cruzada, las imágenes deben estar en el espacio de trabajo y las entidades de las dos imágenes deben estar en la misma escala y tener la misma orientación. No se pueden rotar entre sí. Dado que la imagen Concord se gira en relación con la imagen fija, no puede ajustar los puntos de control.cpcorr

Especifique el tipo de transformación e infierle sus parámetros, utilizando . es una función de ajuste de datos que determina la transformación que pone la imagen en alineación, en función de la relación geométrica de los puntos de control. devuelve los parámetros de un objeto de transformación geométrica.fitgeotransfitgeotransfitgeotrans

mytform = fitgeotrans(movingPoints, fixedPoints, 'projective');
mytform =     projective2d with properties:                   T: [3x3 double]     Dimensionality: 2

Cuando utilice , debe especificar el tipo de transformación que desea realizar.fitgeotrans La función puede inferir los parámetros para varios tipos de transformaciones.fitgeotrans Elija qué transformación es adecuada para el tipo de distorsión presente en la imagen en movimiento. Las imágenes pueden contener más de un tipo de distorsión.

La distorsión predominante en la imagen aérea de West Concord (la imagen en movimiento) resulta desde la perspectiva de la cámara. Ignorando el relieve del terreno, que es menor en esta área, el registro de la imagen puede corregir la distorsión de la perspectiva de la cámara mediante una transformación proyectiva. La transformación proyectiva también gira la imagen alineada con el sistema de coordenadas de mapa subyacente a la imagen de ortofoto digital fija.

Transforme la imagen en movimiento ( ) para alinearla con la imagen fija.unregistered Se utiliza para realizar la transformación, pasándole la imagen en movimiento y el objeto de transformación geométrica devuelto por . devuelve la imagen transformada.imwarpfitgeotransimwarp

registered = imwarp(unregistered, mytform);

La siguiente figura muestra la imagen transformada superpuesta de forma transparente en la imagen fija para mostrar los resultados del registro.

Consulte también

| | |

Temas relacionados