使用python实现ndvi归一化植被指数计算:
def __init__(self, img_path, res_save_dir):
self.img_width, self.img_height, self.img = self.read_img(img_path)
self.deno_bias = 0.00001 # 分母偏置,防止除0
self.res_save_dir = res_save_dir
def read_img(self, img_path):
"""读取遥感数据信息"""
dataset = gdal.Open(img_path, gdalconst.GA_ReadOnly)
img_width = dataset.RasterXSize
img_height = dataset.RasterYSize
img_data = np.array(dataset.ReadAsArray(0, 0, img_width, img_height), dtype=float) # 将数据写成数组,对应栅格矩阵
del dataset
return img_width, img_height, img_data
def get_green_degree(self):
"""获取绿度指标"""
return (self.img[3] - self.img[2]) / (self.img[3] + self.img[2] + self.deno_bias)
data = np.array(self.normlize(ndvi))