Python:规范化索引给出大于一

时间:2016-07-04 09:03:43

标签: python arrays numpy indexing

我正在计算图像的NDVI索引。 NDVI应该给出介于0和1之间的值,但是我会得到更大的值。我的数据是[5000,5000,3]数组,NDVI计算的重要频段是第二和第四。我的阵列中的所有条目都是正面的。我的代码是:

nu=imarray[:,:,3]-imarray[:,:,1]
de=imarray[:,:,3]+imarray[:,:,1]
NDVI=div0(nu,de)

imarray是我的数组, nu 是分子, de 是分母。我使用来自denis'sthis question优秀的div0函数,它将分子除以分母,但将潜在的0/0设置为等于0.插入以下打印语句进行调试:

print np.amax(NDVI)
print np.amin(NDVI)

给出

38.1372781065
0.0

即。索引介于0和38之间,而不是介于-1和1之间。从数学角度看这似乎没什么意义,所以有人知道我在这里编程错误吗?

提前致谢:)

0 个答案:

没有答案