Python&&GDAL实现NDVI的计算方式

yipeiwu_com5年前Python基础

很短的几句代码,可是我却花了很长的时间才写出来,因为array那里的除法运算结果老是不对,正常在-1-1之间的。从别的资料摘来处理NDVI计算的array代码处,出现了很多问题,可能它用了什么优化计算的函数,但是结果不对,果断放弃了。

直接硬算,影像波段是整数,转成浮点型数字就行,然后再参与运算得出了正确的结果范围。

这个效率还是不行,用c++&&GDAL计算速率快得多了。

from osgeo import gdal_array as ga
import gdal, ogr, os, osr
import numpy as np
b3=r'C:\Users\suns\Desktop\b4.TIF'
b4=r'C:\Users\suns\Desktop\b5.TIF'
arr=ga.LoadFile(b3)
arr1=ga.LoadFile(b4)
ga.numpy.seterr(all="ignore")
ndvi=((arr1-arr)*1.0)/((arr1+arr)*1.0)
ndvi1=ga.numpy.nan_to_num(ndvi)
target=r'C:\Users\suns\Desktop\ndvi1.tif'
out=ga.SaveArray(ndvi1,target,format = "GTiff",prototype = b4)
out=None

以上这篇Python&&GDAL实现NDVI的计算方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用Opencv实现图像特征检测与匹配的方法

Python使用Opencv实现图像特征检测与匹配的方法

特征检测是计算机对一张图像中最为明显的特征进行识别检测并将其勾画出来。大多数特征检测都会涉及图像的角点、边和斑点的识别、或者是物体的对称轴。 角点检测 是由Opencv的cornerH...

Python采集猫眼两万条数据 对《无名之辈》影评进行分析

Python采集猫眼两万条数据 对《无名之辈》影评进行分析

一、说明 本文主要讲述采集猫眼电影用户评论进行分析,相关爬虫采集程序可以爬取多个电影评论。 运行环境:Win10/Python3.5。 分析工具:jieba、wordcloud、pyec...

Python散点图与折线图绘制过程解析

Python散点图与折线图绘制过程解析

这篇文章主要介绍了Python散点图与折线图绘制过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在数据分析的过程中,经常需要将...

对python列表里的字典元素去重方法详解

如下所示: def list_dict_duplicate_removal(): data_list = [{"a": "123", "b": "321"}, {"a": "12...

Python操作rabbitMQ的示例代码

Python操作rabbitMQ的示例代码

引入 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 rabbitMQ是一款基于AMQP协议的消息中间件,它能够在应用之间提供可靠的消息传输。在易用性,扩展...