本文主要是介绍使用NDWI提取水体详细流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以高分二号影像为例,介绍使用ENVI计算NDWI提取水体,最后生成shpfile文件输出
1. 在ENVI中加载影像
2.计算NDWI:在菜单栏中依次选择:Basic Tools->Band Math,然后在 enter an expression中输入表达式:
( float(b2)-float(b4) )/(b2+b4)
水体指数NDWI计算方式有多种,上面的是其中一种,基于绿波段与近红外波段的归一化比值指数
3. 点击OK,接下来是选择波段,b2表示绿波段,b4表示近红外,这个需要根据自己的影像来
4. 接下来选择导出位置,我暂时选择保存到内存memory
5. 这样就得到了水体指数影像
6. 接下来就是区分开水体和非水体,在菜单栏中依次选择:Classification->Decision Tree->Build New Decision Tree,如下图
7. 点击Node 1,在expression中输入计算公式 b1 GT 0.2
8. 点击ok后会弹出一个框,让选择b1,点击b1,选择刚刚生成的NDWI影像,效果如下,此时可以点击hide,也可以放着
9. 这个时候node1变成了下面这样,意思是:如果值大于0.2就是类别1,否则就是类别0
10. 还是在决策树这个界面,选择execute,如下图
11.选择输入位置后即可得到二值化结果:水体即为白色
12. 接下来是将水体导出成矢量
在菜单栏中选择:classification->post classification->classification to vector,然后选择刚刚生成的二值化结果,接下来是导出参数设置,选择class 1,选择输出路径,即可得到evf矢量水体
13.evf转shpfile,在available vector lists窗口中,选择 file->export layers to shpfile,,就可以把evf转成shpfile了
这篇关于使用NDWI提取水体详细流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!