manejo de imagenes satelitales en Python
2014
ºººººººººººººººº
Tratamiento
Digital de
Imágenes
Facultad de Ingeniería – U.N.R.C.
Alumno:
Toledo Matias
DNI:31925008
TDI 2014
Facultad de Ingeniería
U.N.R.C
Introducción
El siguiente trabajo se realizó como exámen prefinal de la cátedra de Tratamiento
Digital de Imágenes. El objetivo del mismo es realizar en lenguaje Python un código que
reciba una imágen satelital multiespectraldesde un archivo de texto, separe las distintas
bandas espectrales y permita realizar combinaciones de capas para armar imágenes RGB.
Además, deben mostrarse y almacenarse en formato de fotografía (.png ó .jpg).
La imagen satelital multiespectral proviene del satélite Terra, el cual tiene a bordo
un instrumento de imagen de alta complejidad llamado Aster. Este dispositivo contiene
distintossensores, los cuales son los encargados de captar energía en distintas zonas del
espectro electromagnético(bandas).
TDI 2014
Facultad de Ingeniería
U.N.R.C
Desarrollo
Para comenzar hay que decir que en la actualidad las imágenes satelitales son cada
vez más utilizadas y requeridas por diferentes areas de la ciencia que se muestran
interesadas en aprovechar esta valiosísima información. Cada sensores responsable de una
banda. Esto significa que cada sensor capta energía reflejada de distintas porciones del
espetro eletromagnético. Cada capa o banda aporta distinto tipo de información, que
combinadas en una imagen RGB pueden utilizarse para darle falso color a la imagen
satelital, permitiendo al usuario apreciar distintos detalles. Cabe aclarar que las imagenes
captadas por cada sensor sonimágenes en escala de grises.
En lo que respecta a la programación del script, el primer paso fue interiorizarme en
como trabajaba este dispositivo de imagen ASTER, para saber cuantas bandas espectrales
estaban representadas en el archivo de texto. A continuación un resumen de las
características del mismo:
ASTER
Consiste de tres subsistemas ópticos separados, con alta resolución espectral yespacial.Los
radiómetros miden en el visible e infrarrojo cercano (VNIR), en el infrarrojo de onda corta
(SWIR) y en el rango infrarrojo térmico (TIR).
El subsistema VNIR realiza observaciones con un telescopio en posición nadir, en las
porciones del verde (banda 1) y rojo (banda 2) del espectro visible y en el infrarrojo de
onda corta (banda 3N), con una resolución espacial de 15m. Además tiene otrotelescopio
que realiza vistas hacia atrás (banda 3B) lo que permite la visión estereoscópica en el
sentido de la órbita y la generación de modelos digitales de elevaciones (MDE). El
subsistema SWIR tiene 6 bandas y el tamaño del píxel es de 30m. El subsistema TIR tiene
5 bandas en el rango térmico y 90m de resolución espacial.(ver anexo)
Estructura del código
El archivo principal prefinal.pysimplemente se encarga de importar el módulo
funciones.py y de interactuar con el usuario para que éste decida si quiere visualizar una
banda individual o si quiere combinar 3 bandas para formar una imagen RGB que será
almacenada como un archivo PNG.
El archivo funciones.py importa todos los módulos necesarios y contiene las funciones
desarrolladas para la realización del trabajo.
En la primera partedel archivo se importan los distintos módulos y se importa el archivo
“Imagen.txt” como un objeto, el cual luego es leído y dividido en las distintas capas. Cada
TDI 2014
Facultad de Ingeniería
U.N.R.C
capa tiene un total de 864 líneas y el archivo tiene un total de 14 capas. Cabe aclarar que se
trabajo solo con 8 porque parte del archivo estaba corrupto.
A continuación daré una breveexplicación de las funciones que fueron desarrolladas en el
trabajo:
Funcion eliband: Se encarga de pedir al usuario el numero de banda individual que desea
visualizar. Retorna una variable en formato de string con el nombre de la banda que el
usuario escogió.
Función bda2matriz(bda): Se encarga de formar la matriz correspondiente a cada banda
espectral y convertirla a un formato numérico para que pueda...
Regístrate para leer el documento completo.