PIE SDK 距离分类和最大似然分类
1.算法功能简介
监督分类,也叫训练场地法、训练分类法,是遥感图像分类的一种,用被确认类别的样本像元去识别其他未知类别像元的过程。监督分类算法有平行算法、平行六面体法、最小距离法、最大似然法、马氏距离法、二值编码分类法等算法。
最小距离法是一种原理简单,应用方便的分类方法,它利用训练样本中各类别在各波段的均值,根据各像元离训练样本平均值的距离大小来决定其类别,其在遥感分类中应用并不广泛,主要缺点是此方法没有考虑不同类别内部方差的不同,从而造成一些类别在其边界上的重叠,引起分类误差,因此需要一些更有效的测量距离的方法。
最大似然分类,在多类地物识别时,常采用某种统计方法建立起一个判别函数集,然后根据这个判别函数计算各待分类样本的归属概率,样本属于哪一类的概率最大就判别其属于哪一类,这就是最大似然法 。最大似然法是根据训练样本的均值和方差来评价其他像元和训练类别之间的相似性,它可以同时定量地考虑两个以上的波段和类别,是一种广泛应用的分类器,但是这种算法的计算量较大,同时对不同类别的方差变化比较敏感。
PIE SDK支持算法功能的执行,下面对距离分类算法和最大似然分类法功能进行介绍。
2.算法功能实现说明
2.1 实现步骤
|
第一步 |
设置ROI统计参数ROIStatistics_Exchange_Info并执行ROI统计算法得到ROI统计信息。 |
|
第二步 |
根据roi统计信息设置监督分类参数SupervisedClassification_Exchange_Info并执行距离分类算法 |
|
第三步 |
结果显示 |
2.2 算法参数
|
算法名称 |
距离分类 |
|
|
C#算法DLL |
PIE.CommonAlgo.dll |
|
|
C#算法名称 |
PIE.CommonAlgo.DistanceClassificationAlgo(距离分类) PIE.CommonAlgo.MLClassificationAlgo(最大似然分类) |
|
|
参数结构体 |
SupervisedClassification_Exchange_Info |
|
|
参数说明 |
||
|
InputFilePath |
String |
输入文件(*.tif;*.tiff; *.img) |
|
OutputFilePath |
String |
输出文件路径 (*.tif;*.tiff; *.img) |
|
RStart |
Int |
行起始值(大于等于0小于栅格总行数) |
|
REnd |
Int |
行结束值(大于等于0小于栅格总行数,大于RStart) |
|
CStart |
Int |
列起始值(大于等于0小于栅格总列数) |
|
CEnd |
Int |
列结束值(大于等于0小于栅格总列数,大于CEnd) |
|
SelBandNums |
Int |
多光谱波段个数 |
|
SelBandIndexs |
IList<Int> |
多光谱波段集合 |
|
ROINums |
Int |
ROI个数 |
|
ROIMean |
IList<double> |
ROI均值集合 |
|
ROICof |
IList<double> |
ROICof集合 |
|
ListRoiNames |
IList<String> |
ROI名称集合 |
|
ListRoiColors |
IList<String> |
ROI颜色集合 |
|
ClassifierType |
Int |
监督分类类型(0代表最大似然分类;11代表最小距离分类;12带代表马氏距离分类) |
|
FuncName |
String |
C#算法名称 |
2.3 示例代码
|
项目路径 |
百度云盘地址下/PIE示例程序/10.算法调用/图像处理/ DistanceClassify |
|
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/04.World.tif |
|
视频路径 |
百度云盘地址下/PIE视频教程/10.算法调用/图像处理/距离分类算法.avi |
|
示例代码 |
|
using PIE.Carto; |
|
2.4 示例截图

注意:
1、上述分类图由于roi分类的类别很少可能误差有点大,稍微做了些渲染修改
2、如果要改成最大似然分类法,修改执行算法以及ClassifierType=0;
其他不变(距离分类和最大似然分类的参数文件是同一个素以不需要修改其他内容):
PIE.SystemAlgo.ISystemAlgo algo=PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.MLClassificationAlgo")
PIE SDK 距离分类和最大似然分类的更多相关文章
- PIE SDK K-Means分类
1.算法功能简介 K-Means 算法的基本思想是:以空间中 k 个点为中心进行聚类,对最靠近他们的对象归类.通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果. 算法首先随机从数据集中选 ...
- PIE SDK 精度分析(分类后处理)
1.算法功能简介 遥感图像分类精度分析通常把分类图与标准数据进行比较,然后用正确分类的百分比来表示分类的精度. PIE SDK支持算法功能的执行,下面对精度分析算法功能进行介绍. 2.算法功能实现说明 ...
- PIE SDK ISODATA分类
1.算法功能简介 ISODATA(IterativeSelf-OrganizingDataAnalysisTechniqueAlgorithm)即迭代式自组织数据分析技术, 其大致原理是首先计算数据空 ...
- PIE SDK分类合并
1. 算法功能简介 分类合并功能是将分类文件中所设置的对应类别进行合并. PIE SDK支持算法功能的执行,下面对分类合并算法功能进行介绍. 2. 算法功能实现说明 2.1. 实现步骤 第一步 算法参 ...
- PIE SDK 监督分类对话框类(SupervisedClassificaitonDialog)使用经验
最近研究遥感,用到分类算法,PIE SDK正好提供了一些方法可供调用,他们的官方博客上也有相应的示例代码(可参考:https://www.cnblogs.com/PIESat/p/10725270.h ...
- PIE SDK 文章目录索引
1.PIE SDK介绍 1.1. PIE软件介绍 1.2. PIE SDK介绍 1.3. PIE支持项目介绍 1.4. PIE.NET-SDK插件式二次开发介绍 1.5. PIE.NET-S ...
- PIE SDK Command&&Tool工具命令一览表
PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...
- PIE SDK分类统计
1. 算法功能简介 分类统计功能是将分类后的结果统计输出. PIE SDK支持算法功能的执行,下面对分类统计算法功能进行介绍. 2. 算法功能实现说明 2.1. 实现步骤 第一步 算法参数设置 第二步 ...
- PIE SDK过滤
1. 算法功能简介 过滤功能使用斑点分组方法来消除分类文件中被隔离的分类像元,用以解决分类图像中出现的孤岛问题. PIE SDK支持算法功能的执行,下面对过滤算法功能进行介绍. 2. 算法功能实现说明 ...
随机推荐
- myeclipse工程中library 和 web-inf下lib的区别
eclipse工程下的library是用来编译里面的src中java文件的实际发布到tomcat时,仅仅只复制了WEB-INF/lib里面的jar包,所以出现eclipse可以正常编译但tomcat运 ...
- centos踩坑指南之安装composer
composer是php的一个依赖管理器,那么安装composer可以快速编译php 但是在centos7以上 安装composer的有一个步骤有个小问题 对于centos6来说是 sudo mv c ...
- 【#】Spring3 MVC (三)---请求处理方法 参数及返回值总结
博客分类: spring MVCJSPServletCC++ @RequestMapping("/xxxx") public String aaa(){ } 在处理用户请求的方 ...
- 并发编程CAS操作
并发编程CAS操作 简介 CAS即compare and swap,中文就是比较并交换 CAS是Java并发包的基石 原理 其实CAS的原理相对来说比较简单.将要被改变的数据和期望的值作比较,当两个值 ...
- 如何查找文件中的schema约束
1.下载一个spring3.2的jar和source 然后打开source的文件(路径:\spring-framework-3.2.5.RELEASE\docs\spring-framework-re ...
- CodeForces 682C Alyona and the Tree (树上DFS)
题意:给定一棵树,每个叶子有一个权值,每条边也有一个权值,现在让你删最少的结点,使得从任何结点出发到另一个结点的边上权值和都小于两个结点的权值. 析:很明显是DFS,不过要想找出最少的结点可能不太容易 ...
- JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(9):通过XML装配Bean
一.通过XML装配Bean 装配简易值 装配集合 命名空间装配(暂不测试) 二.测试例子 创建一个用户类:UserBean.java package com.xfwl.spring.assem; /* ...
- Android开发之Tween(补间动画)
在android中动画主要有三种,①帧动画(http://blog.csdn.net/dmk877/article/details/45893017)这篇文章已经详细的进行了讲解,②补间动画这也是这篇 ...
- 微信小程序自定义事件
案例结构 首先,我还是会以案例的形式向大家讲解(这样也能方便大家更好的理解)简单介绍一下案例项目的内容(以上一章自定义组件的案例为基础)项目名称:component自定义子组件cpt父组件:logs ...
- ExecutorService的submit方法的坑
先看一段代码: public Future<?> submit(Runnable task) { if (task == null) throw new NullPointerExcept ...