基于python的landsat8影像的 NDVI提取

自学python,刚刚会的一种简单的提取NDVI的代码,欢迎一起学习交流。

from osgeo import gdal
import matplotlib.pyplot as plt
import cv2
# 打开红光和近红外波段
red_band = gdal.Open(r"redband_tif")
nir_band = gdal.Open(r"nirredband_tif"")

# 读取红光和近红外波段数据
red_array = red_band.ReadAsArray().astype(float)
nir_array = nir_band.ReadAsArray().astype(float)

# 计算NDVI
ndvi = (nir_array - red_array) / (nir_array + red_array)

# 保存NDVI图像
driver = gdal.GetDriverByName("GTiff")# 创建一个GDAL驱动程序对象,指定要创建的文件类型为GeoTIFF。
ndvi_dataset = driver.Create("path_to_save_ndvi.tif", red_band.RasterXSize, red_band.RasterYSize, 1, gdal.GDT_Float32)
# 使用GDAL驱动程序创建一个新的GeoTIFF文件,指定文件名为"path_to_save_ndvi.tif"。
# red_band.RasterXSize和red_band.RasterYSize分别表示红波段的宽度和高度,这里将其用作新创建的NDVI波段的宽度和高度。1表示新创建的NDVI数据集只有一个波段。
# gdal.GDT_Float32指定新创建的NDVI波段的数据类型为32位浮点数。
ndvi_dataset.GetRasterBand(1).WriteArray(ndvi)# 获取新创建NDVI数据集的第一个波段
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值