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 就是这样一个一个像元进行计算的。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)