我下载了BigEarthNet数据集,并用gdal读取了python中的TIFF图像。下面的代码。结果数组的值远高于我期望的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]]
答案 0 :(得分:0)
如果它确实是一个Numpy数组,则可以使用以下命令获得最大值/最小值:
numpy.amax(raster_band)
numpy.amin(raster_band)
答案 1 :(得分:0)
看起来您已经在外观上安装了gdal,
gdalinfo <filename>
将为您提供文件上的统计信息,其中包括存储值的最大值和最小值。 tif中的数据可以表示很多东西,例如DEM存储表示光栅带中高度的值。
值的实际可能范围取决于用于对其进行编码的数据类型。例如,uint16的范围是0-65535,我想我以前以BIL格式使用过。
答案 2 :(得分:0)
From the sentinel-2 user guide:
放射线分辨率通常表示为位数, 通常在8到16位范围内。的辐射分辨率 MSI仪器为12位,因此可以通过 范围为0至4095的潜在光强度值。