影像信息提取之——面向对象特征提取

影像信息提取之——面向对象特征提取
影像信息提取之——面向对象特征提取

同物异谱,同谱异物”会对影像分类产生的影响,加上高分辨率影像的光谱信息不是很丰富,还有经常伴有光谱相互影响的现象,这对基于像素的分类方法提出了一种挑战,面向对象的影像分类技术可以一定程度减少上述影响。

本专题以ENVI中的面向对象的特征提取FX工具为例,对这种技术和处理流程做一个简单的介绍。

本专题包括以下内容:

●面向对象分类技术概述

● ENVI FX简介

● ENVI FX操作说明

1、面向对象分类技术概述

面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素,充分利用高分辨率的全色和多光谱数据的空间,纹理,和光谱信息来分割和分类的特点,以高精度的分类结果或者矢量输出。它主要分成两部分过程:对象构建和对象的分类。

影像对象构建主要用了影像分割技术,常用分割方法包括基于多尺度的、基于灰度的、纹理的、基于知识的及基于分水岭的等分割算法。比较常用的就是多尺度分割算法,这种方法综合遥感图像的光谱特征和形状特征,计算图像中每个波段的光谱异质性与形状异质性的综合特征值,然后根据各个波段所占的权重,计算图像所有波段的加权值,当分割出对象或基元的光谱和形状综合加权值小于某个指定的阈值时,进行重复迭代运算,直到所有分割对象的综合加权值大于指定阈值即完成图像的多尺度分割操作。

影像对象的分类,目前常用的方法是“监督分类”和“基于规则(知识)分类”。这里的监督分类和我们常说的监督分类是有区别的,它分类时和样本的对比参数更多,不仅仅是光谱信息,还包括空间、纹理等对象属性信息。基于规则(知识)分类也是根据影像对象的属性和阈值来设定规则进行分类。

表1为三大类分类方法的一个大概的对比。

全名叫“面向对象空间特征提取模块—Feature Extraction”,基于影像空间以及影像光谱特征,即面向对象,从高分辨率全色或者多光谱数据中提取信息,该模块可以提取各种特征地物如车辆、建筑、道路、桥、河流、湖泊以及田地等。该模块可以在操作过程中随时预览影像分割效果。该项技术对于高光谱数据有很好的处理效果,对全色数据一样适用。对于高分辨率全色数据,这种基于目标的提取方法能更好的提取各种具有特征类型的地物。一个目标物体是一个关于大小、光谱以及纹理(亮度、颜色等)的感兴趣区域。

可应用于:

●从影像中尤其是大幅影像中查找和提取特征。

●添加新的矢量层到地理数据库

●输出用于分析的分类影像

●替代手工数字化过程

具有易于操作(向导操作流程),随时预览效果和修改参数,保存参数易于下次使用和与同事共享,可以将不同数据源加入ENVI FX中(DEMs、LiDAR datasets、shapefiles、地面实测数据)以提高精度、交互式计算和评估输出的特征要素、提供注记工具可以标识结果中感兴趣的特征要素和对象等特点。

3、ENVI FX操作说明

ENVI FX的操作可分为两个部分:发现对象(Find Object)和特征提取(Extract features),如图1所示。

图1 FX操作流程示意图

下面在ENVI5.0下的FX工具,以0.6米的QB图像为例,介绍向对象信息提取的流程。下面我们。

3.1基于规则的面向对象信息提取

该方法的工具为Toolbox /Feature Extraction/ Rule Based Feature Extraction Workflow

第一步:准备工作

根据数据源和特征提取类型等情况,可以有选择地对数据做一些预处理工作。

●空间分辨率的调整

如果您的数据空间分辨率非常高,覆盖范围非常大,而提取的特征地物面积较大(如云、大片林地等)。可以降低分辨率,提供精度和运算速度。可利用Toolbox/Raster Management/Resize Data工具实现。

●光谱分辨率的调整

如果您处理的是高光谱数据,可以将不用的波段除去。可利用Toolbox/Raster Management/Layer Stacking工具实现。

●多源数据组合

当您有其他辅助数据时候,可以将这些数据和待处理数据组合成新的多波段数据文件,这些辅助数据可以是DEM, lidar 影像, 和SAR 影像。当计算对象属性时候,会生成这些辅助数据的属性信息,可以提高信息提取精度。可利用Toolbox/Raster Management/Layer Stacking 工具实现。

●空间滤波

如果您的数据包含一些噪声,可以选择ENVI的滤波功能做一些预处理。

这里直接在ENVI中打开qb_colorado.dat图像文件。

第二步:发现对象

(1)启动Rule Based FX工具

在Toolbox中,找到Feature Extraction,选择/Feature Extraction/Rule Based Feature Extraction Workflow,打开工作流的面板,选择待分类的影像qb_colorado.dat,此外还有三个面板可切换:在Input Mask面板可输入掩膜文件,在Ancillary Data面板可输入其他多源数据文件,切换到Custom Bands面板,有两个自定义波段,包括归一化植被指数或者波段比值、HSI颜色空间,这些辅助波段可以提高图像分割的精度,如植被信息的提取等自定义的属性,在Normalized Difference和Color Space属性上打钩,如下图所示,点击Next;

图2 输入数据和属性参数选择

(2)影像分割、合并

FX根据临近像素亮度、纹理、颜色等对影像进行分割,它使用了一种基于边缘的分割算法,这种算法计算很快,并且只需一个输入参数,就能产生多尺度分割结果。通过不同尺度上边界的差异控制,从而产生从细到粗的多尺度分割。

选择高尺度影像分割将会分出很少的图斑,选择一个低尺度影像分割将会分割出更多的图斑,分割效果的好坏一定程度决定了分类效果的精确度,我们可以通过preview预览分割效果,选择一个理想的分割阀值,尽可能好地分割出边缘特征。有两个图像分割算法供选择:

● Edge,基于边缘检测,需要结合合并算法可以达到最佳效果;

● Intensity: 基于亮度,这种算法非常适合于微小梯度变化(如DEM)、电磁场图像等,

不需要合并算法即可达到较好的效果。

调整滑块阀值对影像进行分割,这里设定阈值为40。

注:按钮是用来选择分割波段的,默认为Base Image所有波段。

影像分割时,由于阈值过低,一些特征会被错分,一个特征也有可能被分成很多部分。我们可以通过合并来解决这些问题。合并算法也有两个供选择:

● Full Lambda Schedule,合并存在于大块、纹理性较强的区域,如树林、云等,该方

法在结合光谱和空间信息的基础上迭代合并邻近的小斑块;

● Fast Lambda: 合并具有类似的颜色和边界大小相邻节段。设定一定阈值,预览效果。

这里我们设置的阈值为90,点Next进入下一步。

Texture Kernal Size:纹理内核的大小,如果数据区域较大而纹理差异较小,可以把这个参数设置大一点。默认是3,最大是19。

注:这一步是可选项,如果不需要可以按照默认的0直接跳过。

图3 图像分割、合并

这时候FX生成一个Region Means 影像自动加载图层列表中,并在窗口中显示,它是分割后的结果,每一块被填充上该块影像的平均光谱值。接着进行下一步操作。

目前,已经完成了发现对象的操作过程,接下来是特征的提取。

第三步:根据规则进行特征提取

在规则分类界面。每一个分类有若干个规则(Rule)组成,每一个规则有若干个属性表达式来描述。规则与规则之间是与的关系,属性表达式之间是并的关系。

同一类地物可以由不同规则来描述,比如水体,水体可以是人工池塘、湖泊、河流,也可以是自然湖泊、河流等,描述规则就不一样,需要多条规则来描述。每条规则又有若干个属性来描述,如下是对水的一个描述:

●面积大于500像素

●延长线小于0.5

● NDVI小于0.25

对道路的描述:

●延长线大于0.9

●紧密度小于0.3

●标准差小于20

这里以提取居住房屋为例来说明规则分类的操作过程。

首先分析影像中容易跟居住房屋错分的地物有:道路、森林、草地以及房屋旁边的水泥地。

点击按钮,新建一个类别,在右侧Class properties下修改好类别的相应属性。

图4 规则分类面板

1)第一条属性描述,划分植被覆盖和非覆盖区。

在默认的属性Spectral Mean上单击,激活属性,右边出现属性选择面板,如图所示。选择Spectral,Band下面选择Normalized Difference。在第一步自定义波段中选择的波段是红色和近红外波段,所以在此计算的是NDVI。把Show Attribute Image勾上,可以看到计算的属性图像。

通过拖动滑条或者手动输入确定阈值。在阈值范围内的在预览窗口里显示为红色,在Advanced面板,有三个类别归属的算法:算法有二进制、线性和二次多项式。选择二进制方法时,权重为0或者1,即完全不匹配和完全匹配两个选项;当选择线性和二次多项式时,可通过Tolerance设置匹配程度,值越大,其他分割块归属这一类的可能性就越大。这里选择类别归属算法为Liner,分类阈值Tolerance为默认的5,如下图

图5 对象属性面板

图6 归属类别算法和阈值设置

居住房屋和道路的最大区别是房屋是近似矩形,我们可以设置Rectangular fit属性。在Rule上右键选择Add Attibute按钮,新建一个规则,在右侧Type中选择Spatial,在Name 中选择Rectangular fit。设置值的范围是0.5~1,其他参数为默认值。

注:预览窗口默认是该属性的结果,点击All Classes,可预览几个属性共同作用的结果。

同样的方法设置

Type:Spatial;Name:Area——Area>45

Type:Spatial;Name:Elongation——Elongation<3

水泥地反射率比较高,居住房屋反射率较低,所以我们可以设置波段的象元值。

Type:spectral;Name:Spectral Mean,Band:GREEN——Spectral Mean (GREEN)<650。

点击All Classes,最终的rule规则和预览图如下图所示。

注:单击按钮,打开“房屋.rul”,可以导入预先设置的规则。

图7 房屋提取规则与结果

第四步:输出结果

特征提取结果输出,可以选择以下结果输出:矢量结果及属性、分类图像及分割后的图像、还有高级输出包括属性图像和置信度图像、辅助数据包括规则图像及统计输出,如下图所示。

图8 输出结果

这里我们选择矢量文件及属性数据一块输出,规则图像及统计结果输出。点击Finish按

钮完成输出。可以查看房屋信息提取的结果和矢量属性表

图9房屋信息提取的矢量结果和属性表

类似的思路可以提取道路、林地、草地等分类,这里就不一一例举。

3.2基于样本的面向对象的分类

该方法的工具为Toolbox /Feature Extraction/Example Based Feature Extraction Workflow。

在Toolbox中找打该工具,双击打开流程化的面板,前面两步和第一种方法的前两步完全一致,选择数据和发现对象,在此不一一赘述。我们直接看特征提取这部分:基于样本的图像分类。

第三步:基于样本的图像分类

经过图像分割和合并之后,进入到监督分类的界面,如下图所示:

图10 监督分类界面

1)选择样本

对默认的一个类别,在右侧的Class Properties中,修改显示颜色、名称等信息。

图11 修改类别属性信息

在分割图上选择一些样本,为了方便样本的选择,可以在左侧图层管理中将Region Means图层关闭掉,显示原图,选择一定数量的样本,如果错选样本,可以在这个样本上点击左键删除。

一个类别的样本选择完成之后,新增类别,用同样的方法修改类别属性和选择样本。在选择样本的过程中,可以随时预览结果。可以把样本保存为shp文件以备下次使用。

点击按钮可以将真实数据的ShapeFile矢量文件作为训练样本。

这里我们建立5个类别:道路、房屋、草地、林地、水泥地,分别选择一定数量的样本,如下图所示。

图12 选择样本

2)设置样本属性

切换到Attributes Selection选项。默认是所有的属性都被选择,这些选择样本的属性将被用于后面的监督分类。可以根据提取的实际地物特性选择一定的属性。这里按照默认全选。

图13 样本属性选择

3)选择分类方法

切换到Algorithm选项。FX提供了三种分类方法:K邻近法(K Nearest Neighbor)、支持向量机(Support Vector Machine ,SVM)和主成分分析法(Principal Components Analysis ,PCA)。

图14 分类方法

K邻近分类方法依据待分类数据与训练区元素在N维空间的欧几里得距离来对影像进行分类,N由分类时目标物属性数目来确定。相对传统的最邻近方法,K近邻法产生更小的敏感异常和噪声数据集,从而得到更准确地分类结果,它自己会确定像素最可能属于哪一类。

在K参数里键入一个整数,默认值是1,K参数是分类时要考虑的临近元素的数目,是一个经验值,不同的值生成的分类结果差别也会很大。K参数设置为多少依赖于数据组以及您选择的样本。值大一点能够降低分类噪声,但是可能会产生不正确的分类结果,一般值设到3-7之间就比较好。

支持向量机是一种来源统计学习理论的分类方法。选择这一项,需要定义一系列参数:

a)Kernel Type下拉列表里选项有 Linear,Polynomial,Radial Basis,以及 Sigmoid。

?如果选择Polynomial,设置一个核心多项式(Degree of Kernel Polynomial)的

次数用于SVM,最小值是1,最大值是6。

?如果选择Polynomial or Sigmoid,使用向量机规则需要为Kernel指定 the Bias ,

默认值是1。

?如果选择是 Polynomial、Radial Basis、Sigmoid,需要设置Gamma in Kernel

Function参数。这个值是一个大于零的浮点型数据。默认值是输入图像波段

数的倒数。

b)为SVM规则指定the Penalty参数,这个值是一个大于零的浮点型数据。这个参数控制了样本错误与分类刚性延伸之间的平衡,默认值是100。

Allow Unclassified是允许有未分类这一个类别,将不满足条件的斑块分到该类,默认是允许有未分类的类别。

Threshold 为分类设置概率域值,如果一个像素计算得到所有的规则概率小于该值,该像素将不被分类,范围是0~100,默认是5。

主成分分析是比较在主成分空间的每个分割对象和样本,将得分最高的归为这一类。

这里我们选择K邻近法,K参数设置为5,点击Next,输出结果。

最终结果的输出方法和基于规则的一样。

3.3 直接输出矢量

该方法的工具为Toolbox/Feature Extraction/Segment Only Feature Extraction Workflow。

操作方法参考前面的第一和第二步骤,第三步直接选择路径输出分割栅格结果和矢量结果。

从以上的实际操作可以看到,ENVI FX扩展模块操作具有易于操作(向导操作流程),随时预览效果和修改参数。

4、小结

基于像元的分类方法,依据主要是利用像元的光谱特征,大多应用在中低分辨率遥感图像。而高分辨率遥感图像的细节信息丰富,图像的局部异质性大,传统的基于像元的分类方法易受高分辨率影像局部异质性大的影响和干扰。而面向对象分类方法可以高分辨率图像丰富的光谱、形状、结构、纹理、相关布局以及图像中地物之间的上下文信息,可以结合专家知识进行分类,可以显著提高分类精度,而且使分类后的图像含有丰富的语义信息,便于解译和理解。对高分辨率影像来说,还是一种非常有效的信息提取方法,具有很好的应用前景。

影像信息提取之——面向对象特征提取

同物异谱,同谱异物”会对影像分类产生的影响,加上高分辨率影像的光谱信息不是很丰富,还有经常伴有光谱相互影响的现象,这对基于像素的分类方法提出了一种挑战,面向对象的影像分类技术可以一定程度减少上述影响。 本专题以ENVI中的面向对象的特征提取FX工具为例,对这种技术和处理流程做一个简单的介绍。 本专题包括以下内容: ●面向对象分类技术概述 ● ENVI FX简介 ● ENVI FX操作说明 1、面向对象分类技术概述 面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素,充分利用高分辨率的全色和多光谱数据的空间,纹理,和光谱信息来分割和分类的特点,以高精度的分类结果或者矢量输出。它主要分成两部分过程:对象构建和对象的分类。 影像对象构建主要用了影像分割技术,常用分割方法包括基于多尺度的、基于灰度的、纹理的、基于知识的及基于分水岭的等分割算法。比较常用的就是多尺度分割算法,这种方法综合遥感图像的光谱特征和形状特征,计算图像中每个波段的光谱异质性与形状异质性的综合特征值,然后根据各个波段所占的权重,计算图像所有波段的加权值,当分割出对象或基元的光谱和形状综合加权值小于某个指定的阈值时,进行重复迭代运算,直到所有分割对象的综合加权值大于指定阈值即完成图像的多尺度分割操作。 影像对象的分类,目前常用的方法是“监督分类”和“基于规则(知识)分类”。这里的监督分类和我们常说的监督分类是有区别的,它分类时和样本的对比参数更多,不仅仅是光谱信息,还包括空间、纹理等对象属性信息。基于规则(知识)分类也是根据影像对象的属性和阈值来设定规则进行分类。 表1为三大类分类方法的一个大概的对比。

10-面向对象图像特征提取

第十章面向对象图像特征提取 10.1 面向对象图像分类技术 面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素,充分利用高分辨率的全色和多光谱数据的空间、纹理和光谱信息对图像分割和分类,以高精度的分类结果或者矢量输出。它主要分成两个过程:图像对象构建和对象的分类。 FX的操作可分为两个部分:发现对象(Find Object)和特征提取(Extract Features)

10.2 发现对象 10.2.1 准备工作 根据数据源和特征提取类型等情况,可以有选择地对数据进行一些预处理工作。 (1)空间分辨率的调整 如果您的数据空间分辨率非常高、覆盖范围非常大,而提取的特征地物面积较大(如云、大片林地等),可以降低分辨率,提供精度和运算速度。可利用ENVI主菜单->Basic Tools->Resize Data工具实现。 (2)光谱分辨率的调整 如果您处理的是高光谱数据,可以将不用的波段除去。可利用ENVI主菜单->Basic Tool->layer stacking工具实现。 (3)多源数据组合 (4)空间滤波 10.2.2发现对象 第一步启动FX模块 (1)在ENVI EX中,选择File-Open,打开图像文件qb_colorado.img,如图10.1。 (2)在ENVI EX中,双击Toolbox中的Feature Extraction。选择输入文件(图10.2),单击Select Additional Files前的三角形符号,有三种数据可输入: Basic Image:必选项 辅助数据(Ancillary Data):可选项 掩膜文件(Mask File):可选项 (3)单击OK按钮,进入下一步操作。

面向对象三大基本特性,五大基本原则

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础 三大特性是:封装,继承,多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。 所谓继承是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。继承概念的实现方式有二类:实现继承与接口继承。实现继承是指直接使用基类的属性和方法而无需额外编码的能力;接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力; 所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。 五大基本原则 单一职责原则SRP(Single Responsibility Principle) 是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一

数字图像的特征提取

呵呵,看了半天,原来你只不过要求进行边缘检测就可以,然后再做阈值化而已,太简单了。按照下面做即可: void RobelEdgeDetect(LPBYTE lpDibTemp, LPBYTE lpDibSave,int width,int height) { int i,j; float R; float RCos,RSin; for(j=1;j =128) //阈值化 lpDibSave[j*width+i]=255; else lpDibSave[j*width+i]=0; } } ok,一切完成!!!其中,阈值化时,要跟你的图像具体情况而定,当然可以使用自适应阈值最 好了。

面向对象的三个基本特征讲解

面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承 面向对象编程(OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。 继承的过程,就是从一般到特殊的过程。 要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。 在某些OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。 继承概念的实现方式有三类:实现继承、接口继承和可视继承。 实现继承是指使用基类的属性和方法而无需额外编码的能力; 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力; 可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。 在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类

都可以继承Person 类。但是Leg 类却不能继承Person 类,因为腿并不是一个人。 抽象类仅定义将由子类创建的一般属性和方法,创建抽象类时,请使用关键字Interface 而不是Class。 OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。 多态 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。 实现多态,有二种方式,覆盖,重载。 覆盖,是指子类重新定义父类的虚函数的做法。 重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 其实,重载的概念并不属于“面向对象编程”,重载的实现是:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。如,有两个同名函数:function func(p:integer):integer;和function func(p:string):integer;。那么编译器做过修饰后的函数名称可能是这样的:int_func、str_func。对于这两个函数的调用,在编译器间就已经确定了,是静态的(记住:是静态)。也就是说,它们的地址在编译期就绑定了(早绑定),因此,重载和多态无关!真正和多态相关的是“覆盖”。当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态(记住:是动态!)的调用属于子类的该函数,这样的函数调用在编译期间是无法确定的(调用的子类的虚函数的地址无法给出)。因此,这样的函数地址是在运行期绑定的(晚邦定)。结论就是:重载只是一种语言特性,与多态无关,与面向对象也无关!引用一句Bruce Eckel的话:“不要犯傻,如果它不是晚邦定,它就不是多态。” 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。 概念讲解 泛化(Generalization)

遥感专题讲座——影像信息提取(四、面向对象特征提取)

面向对象的影像分类技术 “同物异谱,同谱异物”会对影像分类产生的影响,加上高分辨率影像的光谱信息不是很丰富,还有经常伴有光谱相互影响的现象,这对基于像素的分类方法提出了一种挑战,面向对象的影像分类技术可以一定程度减少上述影响。 本小节以ENVI中的面向对象的特征提取FX模块为例,对这种技术和处理流程做一个简单的介绍。 本专题包括以下内容: ??●面向对象分类技术概述 ??●ENVI FX简介 ??●ENVI FX操作说明 1、面向对象分类技术概述 面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素,充分利用高分辨率的全色和多光谱数据的空间,纹理,和光谱信息来分割和分类的特点,以高精度的分类结果或者矢量输出。它主要分成两部分过程:影像对象构建和对象的分类。

影像对象构建主要用了影像分割技术,常用分割方法包括基于多尺度的、基于灰度的、纹理的、基于知识的及基于分水岭的等分割算法。比较常用的就是多尺度分割算法,这种方法综合遥感图像的光谱特征和形状特征,计算图像中每个波段的光谱异质性与形状异质性的综合特征值,然后根据各个波段所占的权重,计算图像所有波段的加权值,当分割出对象或基元的光谱和形状综合加权值小于某个指定的阈值时,进行重复迭代运算,直到所有分割对象的综合加权值大于指定阈值即完成图像的多尺度分割操作。 影像对象的分类,目前常用的方法是“监督分类”和“基于知识分类”。这里的监督分类和我们常说的监督分类是有区别的,它分类时和样本的对比参数更多,不仅仅是光谱信息,还包括空间、纹理等信息。基于知识分类也是根据影像对象的熟悉来设定规则进行分类。 目前很多遥感软件都具有这个功能,如ENVI的FX扩展模块、易康(现在叫Definiens)、ERDAS的Objective模块、PCI的FeatureObjeX(新收购)等。 表1为三大类分类方法的一个大概的对比。 类型基本原理影像的最小单元适用数据源缺陷 传统基于光谱的分类方 法地物的光谱信息 特征 单个的影像像元 中低分辨率多光谱 和高光谱影像 丰富的空间信息利 用率几乎为零 基于专家知识决策树根据光谱特征、空 间关系和其他上 下文关系归类像 元 单个的影像像元多源数据知识获取比较复杂 面向对象的分类方法几何信息、结构信 息以及光谱信息 一个个影像对象 中高分辨率多光谱 和全色影像 速度比较慢

图像颜色特征提取原理

一、颜色特征 1 颜色空间 1.1 RGB 颜色空间 是一种根据人眼对不同波长的红、绿、蓝光做出锥状体细胞的敏感度描述的基础彩色模式,R、 G、B 分别为图像红、绿、蓝的亮度值,大小限定在 0~1 或者在 0~255。 1.2 HIS 颜色空间 是指颜色的色调、亮度和饱和度,H表示色调,描述颜色的属性,如黄、红、绿,用角度 0~360度来表示;S 是饱和度,即纯色程度的量度,反映彩色的浓淡,如深红、浅红,大小限定在 0~1;I 是亮度,反映可见光对人眼刺激的程度,它表征彩色各波长的总能量,大小限定在 0~1。 1.3 HSV 颜色模型 HSV 颜色模型依据人类对于色泽、明暗和色调的直观感觉来定义颜色, 其中H (Hue)代表色度, S (Saturat i on)代表色饱和度,V (V alue)代表亮度, 该颜色系统比RGB 系统更接近于人们的经验和对彩色的感知, 因而被广泛应用于计算机视觉领域。 已知RGB 颜色模型, 令M A X = max {R , G, B },M IN =m in{R , G,B }, 分别为RGB 颜色模型中R、 G、 B 三分量的最大和最小值, RGB 颜色模型到HSV 颜色模型的转换公式为: S =(M A X - M IN)/M A X H = 60*(G- B)/(M A X - M IN) R = M A X 120+ 60*(B – R)/(M A X - M IN) G= M A X 240+ 60*(R – G)/(M A X - M IN) B = M A X V = M A X 2 颜色特征提取算法 2.1 一般直方图法 颜色直方图是最基本的颜色特征表示方法,它反映的是图像中颜色的组成分布,即出现了哪些颜色以及各种颜色出现的概率。其函数表达式如下: H(k)= n k/N (k=0,1,…,L-1) (1) 其中,k 代表图像的特征取值,L 是特征可取值的个数,n k是图像中具有特征值为 k 的象素的个数,N 是图像象素的总数。由上式可见,颜色直方图所描述的是不同色彩在整幅图像中所占的比例,无法描述图像中的对象或物体,但是由于直方图相对于图像以观察轴为轴心的旋转以及幅度不大的平移和缩放等几何变换是不敏感的,而且对于图像质量的变化也不甚敏感,所以它特别适合描述那些难以进行自动分割的图像和不需要考虑物体空间位置的图像。 由于计算机本身固有的量化缺陷,这种直方图法忽略了颜色的相似性,人们对这种算法进行改进,产生了全局累加直方图法和局部累加直方图法。 2.2 全局累加直方图法 全局累加直方图是以颜色值作为横坐标,纵坐标为颜色累加出现的频数,因此图像的累加直方空间 H 定义为:

面向对象的三大特性

面向对象的三大特性 收藏 面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 在Java中类中成员的属性有:public,protected,,private,这四个属性的访问权限依次降低。 继承 面向对象编程(OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。 继承的过程,就是从一般到特殊的过程。 要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。 在某些OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。 继承概念的实现方式有三类:实现继承、接口继承和可视继承。 ?实现继承是指使用基类的属性和方法而无需额外编码的能力; ?接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力; ?可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。 在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承Person 类。但是Leg 类却不能继承Person 类,因为腿并不是一个人。

遥感卫星影像数据信息提取.

北京揽宇方圆信息技术有限公司 、 遥感卫星影像数据信息提取 北京揽宇方圆信息技术有限公司中科院企业,卫星影像数据服务全国领先。业务包括遥感数据获取与分发、遥感数据产品深加工与处理。按照遥感卫星数据一星多用、多星组网、多网协同的发展思路,根据观测任务的技术特征和用户需求特征,重点发展光学卫星影像、雷达卫星影像、历史卫星影像三个系列,构建由 26个星座及三类专题卫星组成的遥感卫星系统,逐步形成高、中、低空间分辨率合理配置、多种观测技术优化组合的综合高效全球观测和数据获取能力形成卫星遥感数据全球接收与全球服务能力。 (1光学卫星影像系列。 面向国土资源、环境保护、防灾减灾、水利、农业、林业、统计、地震、测绘、交通、住房城乡建设、卫生等行业以及市场应用对中、高空间分辨率遥感数据的需求,提供 worldview1、worldview2、worldview3、worldview4、quickbird、geoeye、 ikonos、pleiades、spot1、spot2、spot3、spot4、spot5、spot6、spot7、landsat5(tm、 landsat(etm、 rapideye、alos、Kompsat 卫星、北京二号、资源三 号、高分一号、高分二号等高分辨率光学观测星座。围绕行业及市场应用对基础地理信息、土地利用、植被覆盖、矿产开发、精细农业、城镇建设、交通运输、水利设施、生态建设、环境保护、水土保持、灾害评估以及热点区域应急等高精度、高重访观测业务需求,发展极轨高分辨率光学卫星星座,实现全球范围内精细化观测的数据获取能力。像国产的中分辨率光学观测星座。围绕资源调查、环境监测、防灾减灾、碳源碳汇调查、地质调查、水资源管理、农情监测等对大幅宽、快速覆盖和综合观测需求,建设高、低轨道合理配置的中分辨率光学卫星星座,实现全球范围天级快速动态观测以及全国范围小时级观测。

面向对象特征提取

面向对象特征提取 1、启动eCognition,选择Rule Set Mode。 2、新建工程:File -> New Project或者点击按钮,选择影像or_196560080.tif,确定。

3、界面布局:选择Classification -> Class Hierarchy,打开类层次视图;选择Image Objects -> Image Objects Information,打开目标信息视图;选择Process -> Process Tree,打开进程树视图;选择Tools -> Feature View,打开特征视图。通过拖拽,形成下面的工作界面:

4、设置尺度参数:设置三个分割尺度,分别是100,70,50,三个尺度对应的层次分别命名为L1,L2,L3。 5、第一尺度(100)分割:在Process Tree中右键,选择Append New,在Algorithm中选择Segmentation -> multiresolution segmentation,Image Object Domain中选择Pixel Level,而Algorithm parameters中的Level Name命名为L1,Scale Parameter设为100,Shape设为0.2, Compactness设为0.5,如下图所示: 点击OK后,Process Tree中会多出一条记录,如下:

在该记录上点击右键,选择Execute,即按照设定的参数进行分割,分割的效果如下: 6、第二尺度(70)分割:在eCognition的尺度分层规则中,大尺度对应的层摆在最上面,小尺度的层摆在下面。在Process Tree中右键,选择Append New,在Algorithm中选择Segmentation -> multiresolution segmentation。由于第二尺度对应为第二层次,因此其应该在第一层(L1)下面,所以Image Object Domain中选择image object level,Level设置为L1,而Algorithm parameters中的Level Name命名为L2,Level Usage 设置为Create below,Scale Parameter设为70,Shape设为0.2,Compactness设为0.5,如下图所示: 按第5步的步骤运行该尺度的分割,可以得到该尺度下的分割结果。 7、第三尺度(50)分割:与第6步一样,只不过Image Object Domain中的Level设置为L2,Algorithm parameters中的Level Name设置为L3,Scale parameter设置为50,如下图:

《面向对象程序设计》复习(2)

《面向对象程序设计》课程复习 〇、成绩构成 1、平时成绩:15分(考勤+作业) 2、实验成绩:25分(实验+课程设计) 3、考试成绩:60分 一、考试题型 选择题30分 填空题20分 判断题15分 简答5分 程序分析20分 程序编写10分 二、选择题 1.C++代码源文件的扩展名应为( B) A. c B. cpp C.obj D.exe 2.函数声明为:char fun(int a); float fun(char *p); int fun(int &b); 则以下函数调用语句正确的是( C) A. fun(5) B. int b; fun(&b); C. char *p; fun(p); D. int a; fun(a) 3.标准输入流对象cin无法读取( C) A. 数值 B. 字符串 C. 空白字符 D. 字符 4.不是C++关键字的是(C) A. mutable B. class C. Friend D. virtual 5.通过( A)方法可以在现有类基础上定义新类。 A. 继承 B. 引用 C. 包含 D.封装 6.成员函数亦可声明为静态的,但是它不能直接访问类的(D)数据成员 A. 私有 B. 静态 C. 常量 D. 非静态 7.若类B的定义中私有数据成员i为常数据成员,则( D ) A. 数据成员i不能被一般的成员函数所访问 B. 数据成员i的初始化可以在构造函数的函数体中实现//不能再函数体中,只能通 过参数初始化表

C. 数据成员i可以被常成员函数访问和赋值 D. 以上均不对 8.在编译时,将所调用的函数代码嵌入到主调函数中,这种嵌入到主调函数中的函数不能称为(D) A. 内置函数 B. 内联函数 C. 内嵌函数 D. 嵌套函数 9.存储以下数据,占用存储字节最多的是( D) A. NULL B. '0' C. "0" D. 0.0 10.面向对象的程序是( D)两者的组合 A. 算法和数据结构 B. 对象和函数 C. 函数和算法 D. 对象和消息 11.如果调用带有默认参数的函数时缺少一个参数,则(C)参数就作为这一参数 A. 第1个 B. 中间1个 C. 最后一个 D. 系统随机选择 12.假定A为一个类,则执行A a, b[2], *p=&a, c(*p);语句后,程序将要结束时,共调用该类析构函数的次数应为( C) A. 2 B. 3 C. 4 D. 5 13.已有定义:char * p="ABC";则下面语句正确的是( D) A. *p="ABC"; B. p[0]="A"; C. p[2]='C'; D. char c=p[1]; 14.已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明( B) A. f1和f2都是静态函数 B. f1是静态函数,f2不是静态函数 C. f1不是静态函数,f2是静态函数 D. f1和f2都不是静态函数 15.下列关于函数模板与类模板的描述中,不正确的是( D) A. 函数模板的实例化是由编译程序在处理函数调用时自动完成 B. 类模板的实例化必须由程序员在程序中显式的指定 C. 函数模板与类模板均可以显式调用 D. 定义函数模板时可以使用多个类型参数,而类模板不可以 16.对于语句cout>>a;,下列描述中不正确的是( C) A. “cout”是一个输出流对象 B. 该语句错误使用了运算符 C. “>>”称作插入运算符(提取) D. 该语句需要头文件iostream 17.下面运算符中,不能被重载的运算符是( C) A. <= B. - C. ?: D. [] 18.以下不属于面向对象的程序设计语言的是( D ) A. C# B. C++ C. Java D. C 19.下列关于C++中运算符重载的描述中,错误的是( C)

面向对象的三大特性

面向对象的三大特性 类:属性(变量)和方法 一、封装 1.定义:封装最简单的理解就是包装,指隐藏对象的属性和实现细节,仅仅对外公开接口,即对象的内部状态对外界是透明的。 2.原则:“该隐藏的一定要隐藏,该公开的一定要公开。” *对象的属性尽可能的私有,根据需要配上相应的get/set方法。 *对象的方法根据需要决定是否公开,公开的是声明,隐藏的是实现。意义:使方法实现的改变对架构的影响最小化。 二、继承 1.定义:是一种由已存在的类型创建一个或多个子类型的机制. 2.父类到子类是从一般到特殊的关系。 *泛化:将不同子类中的共性抽象成父类的过程。 *特化:在原有父类的基础上加入一些个性的过程。 *原则:父类放共性,子类放个性。 3.继承的关键字:extends 4.Java 只支持单继承:一个类最多只有一个直接的父类。 *注:父子类之间的关系是树状关系,而多继承是网状关系。 5.父类中的私有属性可以继承但是不能访问,也可以说父类中的私有属性子类不能继承。 6. 访问权限: 宽 | public 全部类可见 | protected本类可见,同包类可见,子类可见 | default 本类可见,同包类可见 | private 本类可见

严 private:本类内部可以访问,不能继承到子类。 *能否继承到子类?不能 default:本类内部可以访问,同包其他类也可以访问。 protected:本类内部可以访问,不同包的子类也可 以访问,同包其他类也可以访问。 *能否继承到子类?能继承到子类 public:任何地方都可以访问 *能否继承到子类?能继承到子类 7.方法覆盖(Override): *方法名:相同 *参数表:相同 *访问限制符:相同或者更宽 *返回值类型:相同或者子类返回的类型是父类返回 的类型的子类(在JDK5.0 以后) *抛出的异常:以后再说。 8.属性遮盖:属性不能够被覆盖。 9.super 关键字 *super()表示调用父类的构造方法。 *super()也和this 一样必须放在方法的第一句。 *super 可以屏蔽子类属性和父类属性重名时带来的属性遮盖,super. 表示调用父类的方法或属性。 *在子类的构造函数中如果没有指定调用父类的哪一个构造方法,那么就会调用父类的无参构造方法,即super()。 10.带继承关系的子类对象创建的过程 1)类加载,初始化静态属性(零值)和执行静态代码 块,顺序为:先父类后子类; 2)分配空间; 3)初始化属性(零值)和执行普通代码块; 4)调用本类的某一个构造方法(递归地构造父类对 象),顺序为:先父类后子类。 三、多态(美女、汽车) 1.定义:指引用变量拥有许多不同形式的能力 2.多态分为两种:编译时多态和运行时多态。 *编译时类型:主观概念,把它看作什么。 *运行时类型:客观概念,实际它是什么。 例:Animal a=new Dog(); 指着狗问,这个动物是什么动物? 3.运行时多态的三原则: *对象类型不变。

基于决策树的面向对象变化信息自动提取研究

基于决策树的面向对象变化信息自动提取研究 张雨霁①②,李海涛②,顾海燕② (①辽宁工程技术大学测绘与地理科学学院,阜新,123000; ②中国测绘科学研究院,北京,100039) 摘要:为了从不同时相的遥感影像数据中自动地提取变化信息且保证其效率,本文结合面向对象分析技术,提出了一种基于决策树变化信息自动提取的新方法。该方法利用影像的特征指数及形状特征、光谱特征、纹理特征等作为特征集,将其作为知识库应用到决策树控制模型中,进而利用该模型实现自动分类。对所得到的分类后影像对象,组织分析其综合属性并作为决策规则再次分类,通过“双重分类”的方式实现面向对象的遥感影像变化信息自动提取。该方法为遥感影像变化信息自动提取提供了新的思路。 关键词:变化检测;面向对象;决策树;特征指数 Research on Object-Based Analysis of Automatic Change Information Extraction Based on Decision Tree ZHANG Yuji①②,LI Haitao②, GU Haiyan② (①Liaoning Technical University, Fuxin, 123000; ②Chinese Academy of Surveying and Mapping, Beijing, 100830) Abstract: In order to extract change information automatically from the different time remote sensing images and ensure the efficiency, a new automatic extraction method which is combined with the Object-Based Image Analysis technology based on the Decision Tree is presented in this paper. This method uses the features index and shape, spectral, texture of the image as a feature set to establish the decision tree model for automatic classification. Organize and analyse the synthesized attribute of image objects classified above, then use it as the decision rule to make classification the second time. We can bring about the automatic exaction of image change information by ‘double classification’ which is based on the Object-Based Image Analysis. This method offers a new thought for automatic extraction of remote sensing images change information. Keywords: change detection; object-based; decision tree; feature index 收稿日期:修订日期: 基金项目:National T echnology Support Program [国家科技支撑项目]。 (Program: 2008BAC34B07__04). 作者简介:张雨霁(1985~),女,在读硕士,主要研究方向为遥感图像处理。 E-mail:YUJI-911@https://www.360docs.net/doc/007626615.html,

面向对象分析资料

面向对象分析 软件开发的分析过程就是提取系统需求的过程, 分析工作主要包括理解、表达和验 证。面向对象分析的关键是识别问题域内的对象及其关系。 本章内容主要包括: 面向对 象分析的基本过程、发现对象的方法、定义属性与服务、定义结构、实例连接等。 8.1 基础知识 8.1.1 分析的基本过程 一般来说,需求分析过程是系统分析员与领域专家反复交流和多次修正的过程。 也就是说,理解和验证的过程通常交替进行, 反复迭代,而且往往需要利用原型系 统作业辅助工具。面向对象分析,就是抽取和整理用户需求并建立问题域精确模型 的过 程。 8.1.2 发现对象的方法 问题域和系统责任是面向对象分析的基本出发点。 分析员的主要工作就是:通过 不断地研究问题域,建立一个能满足用户需求的系统模型。 1 .系统责任 系统开发初期,用户对系统提出的各种要求和期望就是用户需求。 的功能、性能、可靠性、保密要求、交互方式等技术性要求和资金强度、 资源使用限制等非技术要求。分析员提高分析这些系统需求,逐渐搞清系统责任。 2?问题域研究方法 要发现对象、定义对象类、主要途径就是研究问题域。 方法是:现场跟单、获取领域知识、吸收经验、听取用户见解。 3?确定系统边界 在系统的分析与设计中, 由于是将实际的系统计算机化, 统与它的周围都要发生联系。 那么我们如何确定系统边界, 键的问题。确定系统边界就是划出被开发的系统和与该系统打交道的人或物之间的 明确界限,并确定它们之间的接口。 8.1.3 定义属性与服务 面向对象的程序设计以对象为基本单位来组织系统中的数据与操作, 题域中的直接映射。 面向对象方法用对象表示问题域中的事务, 而事务的静态特征和动态特征分别 用对象中的一组属性和服务来表示。 1 .定义属性 为了发现对象的属性,就要借鉴与以往相似的问题域中是 否有已开发的面 向对象分析模型,就可能复用其中同类对象的属性定义。 问题域和系统责任,以系统责任为目标进行正确的抽象, 应有的属性。 2.定义服务 它包括系统 交付时间、 研究问题域采用的主要 而实际存在的客观系 是分析与设计中一个关 形成对问 然后,是研究当前的 从而找出每一类对象

面向对象的三个基本特征和概念

面向对象的三个基本特征(讲解) 面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。 继承的过程,就是从一般到特殊的过程。 要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。 在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。 继承概念的实现方式有三类:实现继承、接口继承和可视继承。 ?实现继承是指使用基类的属性和方法而无需额外编码的能力; ?接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力; ?可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。

在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承 Person 类。但是 Leg 类却不能继承 Person 类,因为腿并不是一个人。 抽象类仅定义将由子类创建的一般属性和方法,创建抽象类时,请使用关键字 Interface 而不是 Class。 OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。 多态 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。 实现多态,有二种方式,覆盖,重载。 覆盖,是指子类重新定义父类的虚函数的做法。 重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 其实,重载的概念并不属于“面向对象编程”,重载的实现是:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。如,有两个同名函数:function func(p:integer):integer;和function func(p:string):integer;。那么编译器做过修饰后的函数名称可能是这样的:int_func、 str_func。对于这两个函数的调用,在编译器间就已经确定了,是静态的(记住:是静态)。也就是说,它们的地址在编译期就绑定了(早绑定),因此,重载和多态无关!真正和多态相关的是“覆盖”。当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态(记住:是动态!)的调用属于子类的该函数,这样的函数调用在编译期间是无法确定的(调用的子类的虚函数的地址无法给出)。因此,这样的函数地址是在运行期绑定的(晚邦定)。结论就是:重载只是一种语言特性,与多态无关,与面向对象也无关!引用一句Bruce Eckel的话:“不要犯傻,如果它不是晚邦定,它就不是多态。” 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。

面向对象程序设计教程 答案

面向对象程序设计教程(C++语言描述)题解与课程设计指导 第1章 面向对象程序设计概论 一、名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 二、填空题 (1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。 (2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。 (4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。 (5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、选择题(至少选一个,可以多选) (1)面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 (2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做( C )。 A. 抽象 B. 继承 C. 封装 D. 多态 (3)在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 (4)面向对象程序设计中,对象与对象之间的通信机制是( C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与C语言的关系的描述中,( D )是错误的。 A. C语言是C++的一个子集 B. C语言与C++是兼容的 C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的 【结果分析】 C语言是面向过程的。C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。 (6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。

遥感特征提取物具体步骤

1遥感影像通过亮度值或像元值的高低差异(反映地物的光谱信息)及空间变化(反映地物的空间信息)来表示不同地物的差异,这是区分不同影像地物的物理基础。目前影像都是基于数字,影像信息的提取方法的发展历程可分为如图1所示,目前这四类方法共存。 图1 影像信息提取发展阶段 非监督分类步骤监督分类步骤 2三大分类方法的对比 利用传统的遥感影像分类方法, 如监督分类或非监督分类, 易造成分类精度降低, 空间数据大量冗余以及资源的浪费,面向对象的分类方法正是为了处理这些问题而出现, 面向对象的分类方法是一种智能化的自 动影像分析方法,它的分析单元不再是单个像素,而是由若干个像素组成的像素群,即目标对象。面向对象的方法利用遥感影像结构信息和光谱信息, 并建立这些特征之间的层次关系的基础上, 对影像进行分类。面向对象分类方法的关键在于图像分割, 而图像分割方法多种多样, 如何选择科学合理的图像分割方法十分重要,实验证明多尺度图像分割方法综合了图像的光谱!形状!结构!纹理!相关布局等信息, 是目前较为理想的图像分割方法。(采用面向对象分类的方法,可使用专业遥感图像分类软件eCognition4.0) 3面向对象的分类方法

面向对象的技术流程图 3Envi_ENVI FX简介 全名叫“面向对象空间特征提取模块—Feature Extraction”,基于影像空间以及影像光谱特征,即面向对象,从高分辨率全色或者多光谱数据中提取信息,该模块可以提取各种特征地物如车辆、建筑、道路、桥、河流、湖泊以及田地等。该模块可以在操作过程中随时预览影像分割效果。该项技术对于高光谱数据有很好的处理效果,对全色数据一样适用。对于高分辨率全色数据,这种基于目标的提取方法能更好的提取各种具有特征类型的地物。一个目标物体是一个关于大小、光谱以及纹理(亮度、颜色等)的感兴趣区域。 应用于:1】从影像中尤其是大幅影像中查找和提取特征 2】添加新的矢量层到地理数据库 3】输出用于分析的分类影像 4】替代手工数字化过程 ENVI FX的操作可分为两个部分:发现对象(Find Object)和特征提取(Extract features),如图所示

相关文档
最新文档