1、 Extent - Length/Width提取道路,因此分类策略是:先将草地/湖泊和道路/房屋分开,然后再分别针对草地/湖泊和道路/房屋的特征,将草地和湖泊、道路和房屋分开。具体分类步骤如下:1、多尺度分割:按照面向对象特征提取中的步骤,设置三个尺度100、70和50,并进行分割,分别得到L1、L2和L3层尺度影像,在尺度层网络中,L1尺度最大,在最上面,往下分别是L2和L3。最后的分类结果需要集中显示在一个层,因此还需要再加一个尺度层,只不过这个尺度层不纳入上面的尺度层网络中。在Process Tree中点右键,选择Append New,算法选择Segmentation - multire
2、solution segmentation,Image Object Domain设为pixel level,尺度设为40,新层的名称为L4,同时运行该分割,得到L4层的分割结果。2、在Class Hierarchy中添加4个类,右键点击空白处,选择Insert Class,在弹出的对话框中分别命名为level1、level2、level3和level4,颜色都选择为灰白色:3、给三个类层次添加level属性:双击level1类,双击Contained - add(min),弹出Insert Expression对话框,依次选择Object features - Hierarchy - lev
3、el,双击level,打开Membership function,单击按钮,在处输入3和5,表示该函数的值为4,点击OK按钮,即完成给level1类添加level属性的操作。这里level1类的level属性值为4,是因为整个分类过程要分成四个层次,如下图所示:在level1层,将人工目标(道路、房屋)与非人工目标(草地、湖泊)区分开;在level2层设置非人工1,该类完全继承了level1中的非人工,在非人工1上再将草地1和湖泊1区分开;在level3层设置人工1,该类完全继承了level1中的人工,在人工1上再将道路1和房屋1区分开;在level4层为最终的分类层,其中草地和湖泊完全继承了
4、level2中的草地1和湖泊1,道路和房屋完全继承了level3中的道路1和房屋1。因此在这个层次结构中,level1处于最上层,所以level属性值为4,区间为3到5,依次类推,level2的level属性值为3,level3的level属性值为2,level4的level属性值为1。按照这个属性值分别设置完level1至level4的所有level属性。需要注意的是,Class Hierarchy视图有Group和Inheritance两个标签,这两个标签类的这种层次结构应该是一致的,否则会出错。在编辑每个类的属性时,都可以通过双击这两个标签中类的名称,但是在一个标签中改变类的层次结构,在
5、另一个标签中却不会出现相应的改变,因此需要手动改变。4、添加level1类的规则:双击“人工”,在弹出的对话框中依次双击add(min),Threshold,Object Features - mean,如下图:双击Layer 3,在弹出的对话框中设置如下,点击OK。双击“非人工”,在弹出的对话框中依次双击add(min),Similarity to classes - 人工,如下图:此时即设置“非人工”与“人工”具有相同的性质,而实际上它们应该具备相反的性质,因此需要设置“非人工”为“人工”的反义。在add(min) - 人工 上右键,选择Invert Expression,此时变成了“no
6、t 人工”,即完成取反。5、对level1层次进行分类:在Process Tree中右键选择Append New,弹出的对话框中Algorithm选择Basic Classification - Classification,Algorithm Parameters中的Active Classes选择“人工”与“非人工”,点击OK。在Process Tree的新增加的一条记录上点右键,选择Execute,得到level1层的分类结果,如下图,可以看出,道路和房屋等人工目标以红色显示,非人工目标为灰白色。6、level2层次分类:将设置为L2层。首先将“非人工1”完全继承level1中的“非人工
7、”。双击“非人工1”,双击add(min),双击threshold,选择class-related features - relations to super objects,双击Create new “Existence of”,在Class中选择“非人工1”,Distance设置为1,点击OK,如下图:弹出如下的对话框:这里设置为“=1”,表示完全将“非人工1”类继承下来。设置“湖泊1”的规则:双击Feature View视图中的Object Features - mean - layer 1,可以发现湖泊在该特征上的值非常低,均低于36,而草地的值高于36,因此用该特征可以将草地与湖泊分
8、开。双击“湖泊1”,依次双击add(min) - Threshold - Object features - Layer 1:在弹出的对话框中设置为“ classification,Algorithm Parameters中的Active Classes中选择“草地1,湖泊1”,如下图:此时Process Tree中多了一条记录,右键选择Execute,查看level2层的分类结果,如下图:7、level3的分类:设置为L3,按照步骤6,将“人工1”完全继承level1中的“人工”,有一点不同的是,在下面的对话框中,Distance应该设置为2,因为level3和level1的层间距离为2,其
9、余的设置是一样的:设置“道路1”的规则:由于道路对象具有长条的形状,因此可以使用Object features - Length/Width特征,大于6可以认为是道路,否则可以认为是房屋,设置好的规则如下:设置“房屋1”为“道路1”的反义,具体操作参见步骤4使用规则进行分类:在Process Tree中右键选择Append New,Algorithm中选择Basic Classification - classification,Algorithm Parameters中的Active Classes中选择“道路1,房屋1”,如下图:,右键选择Execute,查看level3层的分类结果,如下
10、图:到此需要分类的地物都已经在不同的尺度层上区分出来,最后一步就是在level4层上将上述处理的结果进行继承,得到最终的分类图。8、level4分类:设置为L4。双击“草地”,依次双击add(min) - class-related features - relations to super objects,双击Create new “Existence of”,在Class中选择“草地1”,设置Distance为2。其他地物的继承方式同“草地”,不同的是Distance,草地和湖泊的Distance为2,道路和房屋的Distance为1。按规则分类: classification,Algorithm Parameters中的Active Classes中选择“道路,房屋,草地,湖泊”,如下图:,右键选择Execute,查看level4层的分类结果,即为最终的分类结果。如下图: