ENVI中掩膜掩膜 *** 作及影像分类教程(转)

ENVI中掩膜掩膜 *** 作及影像分类教程(转),第1张

Arcview中添加影像并根据需要建立裁剪区,命名为caijian.shp--->ENVI中打开被裁剪影像,如

TMband432,-->vector--open vector >选择caijian.shp, load selected--->masking--build

mask--->options--inport ENFs--选择caijian.shp---继续 *** 作保存为文件或保存于缓存中---->apply mask---选择TMband432并设置spatial subset中的ROI/ENF,select mask band及裁剪波段的选择--保存裁剪后的影像.

监督与非监督分类结合的影像分类方法:

以2004年的Aster影像为例,软件采用Erdas,步骤如下:

1) 对Aster2004band432进行非监督分类生成unsuclass2004band432.img(60类,迭代20次,其他默认),同时生成摸板文件unsuclass2004band432_sig1.img

2) 对unsuclass2004band432_sig1.img进行类合并 *** 作,生成摸板文件

unsuclass2004band432_reclssig.img

3) 进行监督分类时的样区选择并加入到unsuclass2004band432_reclssig.img

中,生成分类摸板unsuclass2004band432_susig.img,同时进行分类后合并,生成监督分类摸板

unsuclass2004band432_susig.img,并进行监督分类生成分类后文件suclass2004band432.img

4) 对suclass2004band432.img进行分类重编码,生成C

5) 对suclass2004band432.img进行club *** 作生成suclassband432_club.img

6) 对suclassband432_club.img进行elimite *** 作生成2004classband432_x.img,其中的x 为聚类参数.

ENVI里如何利用矢量对影像进行掩膜

如何将矢量转化成ROI以及如何使用掩摸工具都是处理影像常用的手段,在这里将两者串联在一起,讲叙了利用矢量范围圈定区域对影像进行掩膜的方法,这在实际应用也非常实用.

具体 *** 作步骤如下:

1、准备好矢量和待掩膜的影像,ENVI不支持将线状的矢量转换为面状的掩膜,线状矢量转换为只能转换成线状的ROI,面状的矢量可以直接转换为面状ROI。要对影像的一个区域淹膜,所以这里矢量这里需要面文件。确保影像与矢量能够叠加,如果不能叠加,需要将影像与矢量进行配准。

2、将矢量数据转换为ROI:

(1)使用Vector->Open Vector打开矢量数据;

(2)在Vector显示窗口中的文件菜单下选择Export Active Layer to ROIs

(3)选择与ROI对应的文件;

(4)选择每条记录生成一个ROI;

(5)在在主图像窗口里点击右键,选择 ROI TOOLS,选择Save RoIs保存转换的ROI;

(6)对于线状的ROI,可以事先将线状的ROI转换为面状ROI再导入ENVI,或者根据我们编的程序将线状的ROI转换为面状ROI。

3、使用ROI生成掩膜

(1)在ENVI的菜单下选择Basic ToolsàMaskingàBuild Mask

(2)选择需要进行掩膜的影像

(3)在掩膜定义窗口中,在Options下选择Import ROIs,然后选择前面生成的面状ROI。

(4)设置ROI的类型,在Options菜单下通过设置Selected Areas ‘off’或是’On’来设定ROI的类型。例如前面的ROI包含的是陆地,而我需要对陆地掩膜就可以将Selected Area设置为’Off’。

(5)生成掩膜

点击Apply,输入掩膜文件保存的位置,生成掩膜文件。

4、应用掩膜

(1)在Basic Tools下选择MaskingàApply Mask,首先选择需要进行掩膜的文件,然后在选择文件的对话框中选择Select Mask Band,在d出的对话框中选择前面生成的掩膜文件。

(2)最后输出结果保存。

效果图如下图,在输出的过程中可以将背景设置为白色或者其他颜色。

注意:envi在做有些数据处理时也可以同时做掩膜,这样可以大大减少工作量哦

二值化在ENVI中可以通过band math来实现。band math是利用简单的算术表达式来解决波段运算的功能。二值化的实现,需要用到band math的逻辑运算功能,具体的表达式的书写,你可以查看帮助文件,或者找一本 *** 作指南看看。举个例:将某一波段中灰度值大于等于100的像元赋予10,其他的赋予20。那么表达式就写为:(b1 ge 100)*20+(b1 lt 100)*10ge 、lt分别表示“大于等于”和“小于”括号内是一个逻辑运算表达式,所以其返回值是0(假)和1(真)。那么,一旦某一像元灰度值大于等于100,第一个括号返回值为1,加号之前的运算的结果就为20;当然,此时该像元得灰度值代入到第二个括号内计算的返回值为0。这样,针对着一个像元,其最终输出之后为20。band math 就是这样一个一个像元进行计算的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11593276.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存