Los formatos de archivo Tiff se utilizan para almacenar imágenes de trama. Una biblioteca llamada GDAL-Biblioteca de abstracción de datos geoespaciales se usa especialmente con el fin de leer dichos archivos ráster junto con otros formatos de archivo como los formatos vectoriales. El módulo gdal pertenece a Open Source Geospatial Foundation
Para instalar este módulo, ejecute este comando en su terminal.
pip install GDAL
Para visualizar un archivo tiff necesitamos módulos matplotlib y GDAL en python.
Enfoque :
- Importar el módulo
- Cuente el número de bandas.
- Obtenga todas las bandas de trama del archivo tiff.
- Lea las bandas en arreglos NumPy.
- Pase las arrays a imshow() de Matplotlib para visualizar.
El archivo tiff se puede descargar desde aquí .
Implementación paso a paso:
Paso 1: Importe los módulos y abra el archivo.
Python3
from osgeo import gdal import matplotlib.pyplot as plt dataset = gdal.Open(r'land_shallow_topo_2048.tif')
Paso 2: Cuente el número de bandas.
Python3
print(dataset.RasterCount)
Producción:
3
Paso 3: Busca las bandas,
Para buscar las bandas usamos GetRasterBand(int) de GDAL.
Tenga en cuenta que el valor de int que pasamos siempre comenzará desde 1 (la indexación de bandas comienza desde 1),
Python3
# since there are 3 bands # we store in 3 different variables band1 = dataset.GetRasterBand(1) # Red channel band2 = dataset.GetRasterBand(2) # Green channel band3 = dataset.GetRasterBand(3) # Blue channel
Paso 4: Lea las bandas como arrays Numpy.
GDAL proporciona el método ReadAsArray() que convierte las bandas en arrays numpy y las devuelve.
Python3
b1 = band1.ReadAsArray() b2 = band2.ReadAsArray() b3 = band3.ReadAsArray()
Paso 5: Trazar las arrays usando imshow().
Para trazar las tres arrays, las apilaremos en secuencia.
Python3
img = np.dstack((b1, b2, b3)) f = plt.figure() plt.imshow(img) plt.savefig('Tiff.png') plt.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por maryamnadeem20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA