利用ENVI软件计算NDVI常见错误经验总结

    本人初次学习ENVI软件,就碰到了一个大的bug,实验了一天终于搞定了!记录如下微笑

    NDVI 的作用就不多说了,计算公式大家都知道是利用(近红外波段-红波段)/(近红外波段+红波段)的公式,在envi中使用transform下的NDVI公式时需要时组合波段(即多个波段组合一起的文件,如果各个波段分开的则无法使用)。用此方法计算的NDVI没问题。

     但是如果你要是使用basic tools下的bandmath的话就要注意了。

      错误一:书写公式时如果用(b4-b3)/(b4+b3),那么你会发现结果一片黑或一片白,主要是计算值均取了整数,例如(50-10)/(50+10)=40/60=0因为整数运算,结果ndvi值为0。

     错误二:查询资料发现必须指定波段的取值为float,计算公式改为float(b4-b3)/float(b4+b3),结果发现NDVI对正值均计算正常,比如植被,裸地等。但是对于水体并不算大家所谓的小于0的值,而是全部大于0,而且是大于1的值。郁闷之极,询问了很多人,解释说bandmath是针对反射率的,不能直接针对DN值计算,但是课本说用DN值后者反射率都可以啊。

      几经尝试,发现下面的公式时可行的:NDVI=(float(b4)-float(b3))/(float(b4)+float(b3))可行。

   以上是个人多次尝试总结,如果有不对请指定出来。继续改进。

  • 18
    点赞
  • 128
    收藏
  • 打赏
    打赏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 17

打赏作者

忠言睿长

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值