在ENVI上利用band math和ROI进行湖水掩膜

在网上找了一圈没看见湖水掩膜的,都是消除背景值,琢磨了半天思考出了这个方法,希望有人能用上。

1.生成NDWI图像(突出水域)

 在这个网址中发现了NDWI计算公式https://tieba.baidu.com/p/2447000608?red_tag=1561289776

“要在basic tool---band math 对话框里输入函数:fix(((float(b1)-b2)/(b1+b2))*10000) ;

其中float将数据表示为浮点型,fix将最终数据取整,然后点击add to list 然后ok 定义b1为绿光波段 b2为红光波段 然后让其执行就好”

生成NDWI影像如下:

在ENVI上利用band math和ROI进行湖水掩膜_第1张图片

水变成了白色的,边界清晰。

2.绘制ROI

点这个小标志,找不到的自行百度。

在ENVI上利用band math和ROI进行湖水掩膜_第2张图片

选择最左边的polygon,沿着水域边界画ROI。

成图如下:

在ENVI上利用band math和ROI进行湖水掩膜_第3张图片

不知道为什么漂移了,但是不影响使用。

3.生成0-1二值图像

点击Build Mask,首先选择你想要掩膜的影像,然后点击options选择Import ROIs,选择你画的ROI,点OK就行。

在ENVI上利用band math和ROI进行湖水掩膜_第4张图片

会生成二值影像如下:白的是1,黑的是0。

在ENVI上利用band math和ROI进行湖水掩膜_第5张图片

4.通过BAND MATH计算达到掩膜的目的

(b1-1)/(-1)*b2

b1选择上面生成的二值影像,b2选择想要掩膜的影像。

然后你就发现水域的值变成了0。                                 当当当当!!!惊不惊喜~意不意外~

 

 

你可能感兴趣的:(在ENVI上利用band math和ROI进行湖水掩膜)