Python

Visualize Tiff File using Matplotlib and GDAL in Python – Step-by-Step Guide

Los archivos TIFF (Tagged Image File Format) son un formato de archivo comúnmente utilizado para almacenar imágenes y datos rasterizados. Si tienes un archivo TIFF y quieres visualizarlo en Python, puedes utilizar las bibliotecas Matplotlib y GDAL para lograrlo. En este artículo, te guiaré paso a paso sobre cómo visualizar un archivo TIFF utilizando Matplotlib y GDAL en Python.

1. Importar las bibliotecas necesarias

Primero, debemos importar las bibliotecas necesarias para trabajar con archivos TIFF, Matplotlib y GDAL. Utilizaremos la biblioteca `matplotlib.pyplot` para visualizar la imagen y la biblioteca `gdal` para leer el archivo TIFF.

«`python
import matplotlib.pyplot as plt
from osgeo import gdal
«`

2. Leer el archivo TIFF utilizando GDAL

El siguiente paso es leer el archivo TIFF utilizando la biblioteca GDAL. GDAL proporciona una interfaz para leer y escribir datos geoespaciales en varios formatos, incluido TIFF.

«`python
# Ruta al archivo TIFF
tiff_file = «ruta/al/archivo.tiff»

# Abrir el archivo TIFF
dataset = gdal.Open(tiff_file)
«`

3. Obtener información sobre el archivo TIFF

Antes de visualizar la imagen, es útil obtener información sobre el archivo TIFF, como el tamaño de la imagen, el número de bandas y la resolución. Podemos obtener esta información utilizando los métodos proporcionados por la biblioteca GDAL.

«`python
# Obtener el número de bandas
num_bands = dataset.RasterCount

Recomendado:  Python Tutorial: Los mejores tutoriales de Python en línea

# Obtener el tamaño de la imagen
width = dataset.RasterXSize
height = dataset.RasterYSize

# Obtener la resolución
geotransform = dataset.GetGeoTransform()
pixel_width = geotransform[1]
pixel_height = geotransform[5]

# Imprimir la información
print(«Número de bandas:», num_bands)
print(«Tamaño de la imagen:», width, «x», height)
print(«Resolución:», pixel_width, «x», pixel_height)
«`

4. Convertir la imagen TIFF en una matriz NumPy

Para visualizar la imagen utilizando Matplotlib, necesitamos convertir la imagen TIFF en una matriz NumPy. Podemos hacer esto leyendo los datos de cada banda utilizando el método `ReadAsArray` proporcionado por GDAL.

«`python
# Leer los datos de la primera banda
band = dataset.GetRasterBand(1)
data = band.ReadAsArray()

# Imprimir la forma de la matriz
print(«Forma de la matriz:», data.shape)
«`

5. Visualizar la imagen utilizando Matplotlib

Ahora que tenemos la imagen en forma de matriz NumPy, podemos visualizarla utilizando Matplotlib. Utilizaremos la función `imshow` de Matplotlib para mostrar la imagen.

«`python
# Visualizar la imagen
plt.imshow(data, cmap=’gray’)

# Mostrar la imagen
plt.show()
«`

6. Ajustar la escala de color y el contraste

Si la imagen se ve demasiado oscura o clara, podemos ajustar la escala de color y el contraste utilizando los parámetros `vmin` y `vmax` de la función `imshow` de Matplotlib.

«`python
# Ajustar la escala de color y el contraste
plt.imshow(data, cmap=’gray’, vmin=0, vmax=255)

# Mostrar la imagen
plt.show()
«`

7. Guardar la imagen visualizada en un archivo

Si deseas guardar la imagen visualizada en un archivo, puedes utilizar la función `savefig` de Matplotlib.

«`python
# Guardar la imagen visualizada en un archivo
plt.imshow(data, cmap=’gray’, vmin=0, vmax=255)
plt.savefig(«ruta/al/archivo.png»)
«`

¡Y eso es todo! Ahora puedes visualizar un archivo TIFF utilizando Matplotlib y GDAL en Python. Puedes personalizar aún más la visualización ajustando los parámetros de Matplotlib según tus necesidades. Espero que este artículo te haya sido útil y te ayude a trabajar con archivos TIFF en Python.

Recomendado:  Python Event-Driven programming: Understanding event-oriented programming

Autor

osceda@hotmail.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *