利用Python中的GDAL库读取tif格式的高光谱波段的波长
因为文件比较大,都是以读字节或者是读头文件的方式读取高光谱各波段波长,怕自己忘了,所以记录一下
直接贴代码吧
dataset = gdal.Open(path)#path为高光谱文件所在路径
if dataset == None:
print(path + "文件无法打开")
im_width = dataset.RasterXSize # 列数
im_height = dataset.RasterYSize # 行数
im_bands = dataset.RasterCount # 波段数
x = dataset.ReadAsArray(0, 0, im_width, im_height) # 获取数据
im_geotrans = dataset.GetGeoTransform() # 获取仿射矩阵信息
im_proj = dataset.GetProjection() # 获取投影信息
#这里要注意!python的索引虽然是从0开始,但是波长的提取是从1开始
bandwave_end = dataset.GetRasterBand(im_bands).GetMetadataItem("wavelength") # 取最后一个波长
bandwave_end = np.float(bandwave_end)
bandwave_start = dataset.GetRasterBand(1).GetMetadataItem("wavelength") # 取第一个波长
bandwave_start = np.float(bandwave_start)