Pavan2k4/Building_area
0
1from osgeo import gdal2import numpy as np3import os4import tempfile5from PIL import Image6 7def convert_gtiff_to_8bit(src):8 dst = src9 img = gdal.Open(src)10 driver = gdal.GetDriverByName('GTiff')11 12 output_image = driver.Create(dst, img.RasterXSize, img.RasterYSize, img.RasterCount, gdal.GDT_Byte, ['PHOTOMETRIC = RGB'])13 output_image.SetGeoTransform(img.GetGeoTransform())14 output_image.SetProjection(img.GetProjection())15 16 max_bands = img.RasterCount17 for i in range(max_bands):18 i = i+119 band = img.GetRasterBand(i)20 band_array = band.ReadAsArray()21 22 min, max = band.ComputeRasterMinMax(1)23 band_array = np.interp(band_array, (min,max), (0,255)).astype(np.uint8)24 25 out = output_image.GetRasterBand(i)26 out.WriteArray(band_array)27 out.FlushCache()28 return output_image29 del output_image30 