面向对象图像特征提取
面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素,充分利用高分辨率的全色和多光谱数据的空间、纹理和光谱信息对图像分割和分类,以高精度的分类结果或者矢量输出。
❶ 发现对象
① 启动ENVI EX,在ENVI EX中,选择 File >> Open>>选择目录:D:\\遥感数字
图像处理实验\\实验数据\\面向对象图像特征提取,选择qb_colorado.img图像文件,打开图像文件。
Qb_colorado.img
②在ENVI EX 中,双击Toolbox中的Feature Extraction ,选择输入文件qb_colorado.img如下图,单击Select Additional Files 前的三角形符号。
Base Image : 必选项,基本图像数据。
Ancillary data (辅助数据): 可将栅格文件作为辅助数据加入FX中,以提高提取精度,如高程数据等。
Mask file (掩膜文件):定义Base Image 的掩膜区,只提取感兴趣区域的特征。
这里我们只选择一个图像数据作为Base Image ,不选择掩膜文件和辅助数据。
③单击OK ,进入下一步操作。
设定分割阈值
❷图像分割
① 在 scale level 项中,通过滑块或者手动输入一个分割阈值。这里我们选择经验值40.
② 单击 select onput bands 下的按钮,可以选择波段,这里我们选择默认波段。
③ 将Preview 前的复选框打钩,在zoom图像显示区出现一个矩形预览区。如下图
分割效果预览
④设置好参数后单击Next按钮,只是FX生成一个Region means 图
像自动加载到图层列表中(Layer manager )并在窗口中显示。它是分割后的结果,
每一分割块被填充上该块图像的平均光谱值。
❸合并分块
1、在Merage level 项中,通过滑块或者手动输入一个分割阈值。值越大被合并的块越多,这里我们输入94.0
设定分块合并阈值
2、单击Next 按钮,进入下一步
❹分块精炼
①单击Thresholding (advanced)选项,在Thresholding选项中,可以设定灰度值的范围,这里我们直接选择 No Thresholding (default)。
精炼分块
②单击Next 进入下一步操作。
❺计算对象属性
计算对象属性,包括四个类型:空间(Spatial),光谱(Spectral),纹理(Texture),
高级选项(Advanced).
注意:
切换到Advanced对话框,单击Base Image按钮,从Base Image 中选择三个波段(RGB)(颜色空间)转换为HIS颜色空间,单击Band Ratio 按钮,从Base Image
中选择俩个波段用于计算波段比。
①这里我们选择默认值。
计算对象属性
②单击 Next ,进入下一个界面。
❻特征提取( Extract Features)
FX中提供三种提取特征的方法: 监督(Choose by selecting example )、规则分类(Choose by creating rules )和直接输出矢量(Export Vectors
)
①这里我们选择规则分类(Choose by creating rules ) 如下图所示
。
特征提取方法选择
②单击 Next ,进入下一个界面。
❼规则分类
每一个分类是由若干个规则组成的,每一个规则由若干个属性表达式来描述!
下面我们以提取居民住宅为例来说明规则分类的操作过程。
第一步 第一条属性描述,划分植被覆盖区和非覆盖区
①双击rule[weight:1.00]图标,打开属性对话框,如下图
②选择Customized >>bandratio. FX 会根据选择的波段情况计算波段比值,这里我们选择红色和近红外波段,(默认方式)计算其NDVI值 。
③勾选Show Attribute Image 选择框,在ENVI FX 中显示图像。
④双击 bandratio 选项,进入bandratio属性设置对话框,
注意:
1、Fuzzy Tolerance : 设置模糊分类值, 这里我们选择:5。
2、Membership Function Set Type : 一般情况下,S-type 比Linear 有更小的模
糊度。这里我们选择 S-type。
3、属性值范围: 不选 Logic NOT 可选框,在文本框中输入最大值和最小值,这里我们选择最小值和最大值分别为0.0342,0.3000。
4、单击OK ,完成第一条属性描述。 如下图所示
属性设置对话框
第二步 第二条属性描述,剔除道路干扰
居住房屋和道路的最大区别是,房屋是近似矩形,可以设置Rect_fit属性。操作可以参照第一步。
①双击rule 选项,在对话框中选择 Spatial >>> rect_fit.
② 在rect_fit 对话框中,设置属性范围为0.5~1,其他参数为默认值。
③单击OK.
用同样的方法设置:
Spatial >>> Area : 其参数设置为:Fuzzy Tolerance=0,and
属性值范围为90——1100.其他参数为默认值。
Spatial >> elongation : 其属性值范围为0——3,其他参数为默认值。
第三步 第三条属性描述,剔除水泥地干扰
水泥地反射率比较高,居民住房屋反射率较低,所以可以设置平均像元值属性(avgband)
①双击 rule 选项,在对象属性选择对话框中选择 Spectral >> avgband_2
②在 avgband_2 属性设置对话框中,设置avgband_2属性值的范围<500,
Tolerance=o,其他参数为默认值。
③单击OK按钮,回到规则分类界面中,勾选Preview可选框,预览效果。
④ 单击Next 按钮,输出规则分类结果,保存路径,其他参数为默认值。
⑤单击Next,输出结果。如下图所示
查看居民地房屋分布情况,可以在ENVI EX 提供的矢量编辑工具对结果进行必要的修改。
,
⑥右键点击layer manager 内的 Feature_1.shp,>>>properties
⑦点击 fill Interior的下拉按钮,选择Ture,再次查看影像。
耕地信息提取实例(监督分类为例)
①在ENVI EX,选择 file>> Open , 打开图像, D:\\遥感数字图像处理实验\\实验数据\\面向对象图像特征提取>> imperial_valley_subset.img, 打开图像文件
②在ToolBox,双击Feature Extraction工具,在打开的 Select Fx Input Files对话框中选择 imperial_valley_subset.img文件,单击OK,打开Find Objects_seg_ment对话框。
③在Find Objects_segment对话框中,设置Scale Level为50,单击priview预览,单击NEXT,执行分割处理并进入Find Objects-Merge对话框。
④在Find Objects_Merge对话框中,设置MergeLevel为50,单击priview预览,单击NEXT,执行分割处理并进入Find Objects-Refine对话框。
⑤直接单击Next,进入Find Objects-Compute Attributes对话框,保留默认值设置,单击Next,计算每一个对象的属性。
⑥进入Extract Features-Classify or Export对话框,选择Choose by selecting example(监督分类)
⑦,单击Next,进入下一个对话框(Extract Features-Supervised Classification)
在(Extract Features-Supervised Classification)对话框中定义样本对象。
⑧双击Features-1,修改Feature Name 为生长中期作物,在Layer Manager 中按住(imperial_valley_subset.img),移动到Layers最上层,这样有利于选择样本。
⑨在工具栏中
选择按钮,在图上选择“墨褐色”的斑块对象作为“生长中期作物”,
在图上选择一些对象。用鼠标左键选择高亮显示的对象作为样本,如果选错了,在这个对象上单击左键可以取消选择。
⑩单击,新增类型并修改Feature Name 为无作物耕地,同样的方法在图像上选
择颜色很淡的耕地作为样本。
⑪同样的方法新增类型“生长早期或晚期作物”,图上的样本特征为“淡绿色”,新增“水体”,图上样本特征为“黑色”
⑫选择样本后,勾选Preview 选项在图上预览分类的结果。如下图所示
⑬切换到Algorithm,设置Classification Algorithm为Support Vector Machine,其他参数按照默认,
⑭单击Next, 在Extract Features-Export Features,对话框中,选择输出路径,其他按照默认设置将结果输出Shapefile,矢量格式,单击Next,输出结果。
⑮输出的矢量结果自动加载到ENVI EX窗口中。同时,每一Polygon的面积自动计算并保存在属性数据表中。。
输出结果