Каков диапазон значений в массиве numpy, возвращаемом из gdal ReadAsArray? - PullRequest
0 голосов
/ 21 июня 2019

Я скачал набор данных BigEarthNet и прочитал изображения TIFF на python с помощью gdal. Код ниже. Полученный массив имел значения намного выше ожидаемого диапазона 0-255, так каков диапазон значений?

band1 = imagePath + "/" + img + "/" + img + "_B02.tif"
band_ds = gdal.Open(band1,  gdal.GA_ReadOnly)
raster_band = band_ds.GetRasterBand(1)
blue = raster_band.ReadAsArray()
print(blue)

Это вывод

[[284 388 554 ... 325 318 325]

 [211 213 297 ... 319 300 318]

 [227 206 245 ... 305 318 332]

 ...

 [309 612 920 ... 710 643 554]

 [259 626 862 ... 654 646 536]

 [260 608 730 ... 501 629 526]]

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Если вы уже установили gdal для внешнего вида,

gdalinfo <filename>

предоставит вам статистику в вашем файле, которая будет содержать максимальные и минимальные значения сохраненных значений.Данные в формате tif могут представлять многие вещи, например, DEM хранит значения, представляющие высоту в растровом диапазоне.

Фактический возможный диапазон значений зависит от типа данных, используемого для его кодирования.Например, у uint16 есть диапазон 0-65535, который я использовал в формате BIL раньше.

0 голосов
/ 21 июня 2019

Если это действительно массив Numpy, вы можете получить значение max / min с помощью:

numpy.amax(raster_band)
numpy.amin(raster_band)
...