PIE SDK归一化水体指数法
1.算法功能简介
归一化指数法(NDWI(Normalized Difference Water Index,归一化水指数)),用遥感影像的特定波段进行归一化差值处理,以凸显影像中的水体信息。
其表达式为NDWI =(p(Green)-p(NIR))/(p(Green)+p(NIR))
是基于绿波段与近红外波的归一化比值指数。该NDWI一般用来提取影像中的水体信息,效果较好。
PIE支持归一化指数法算法的执行,下面对此算法功能进行介绍。示例以一幅洞庭湖2017年水体影像图如下图根据矢量文件提取指定范围内的水体数据为例。结果看示例截图部分。
2.算法功能实现说明
2.1 实现步骤
第一步 |
算法参数设置 |
第二步 |
算法执行 |
第三步 |
结果显示 |
2.2 算法参数
算法名称 |
归一化水体指数算法 |
|
C#算法DLL |
PIE.CommonAlgo.dll |
|
C#算法名称 |
PIE.CommonAlgo.DataAutoMagicAlgo |
|
参数结构体 |
DataAutoMagic_Exchange_Info |
|
参数说明 |
||
InputFilePathList |
IList<string> |
输入文件路径列表 |
OutputFilePath |
String |
输出文件路径 |
ShpFilePath |
String |
范围路径 |
Type |
Int |
自动提取类型,默认是0 |
2.3 示例代码
数据路径 |
百度云盘地址下/ PIE示例数据/栅格数据/01.GF1/洞庭湖水体/ IMG_FE233_20171219_636493846049962321.tif SHP_FE233_20171219_636493846049962321.shp |
视频路径 |
百度云盘地址下/PIE视频教程/10.算法调用/行业应用/归一化指数算法.avi |
示例代码 |
|
/// <summary> |
2.4 示例截图
/// <summary>/// 归一化水体指数法/// </summary>public void NormalizeWaterExtract(){ // 归一化水体指数分类 PIE.CommonAlgo.DataAutoMagic_Exchange_Info info = new DataAutoMagic_Exchange_Info(); info.InputFilePathList = new List<string> {@"D:\MapData\Raster\水体提取数据\WR_20171219_A0303_636493863981864520\IMG_FE233_20171219_636493846049962321.tif" };//输入文件列表 info.OutputFilePath = @"D:\MapData\Raster\水体提取数据\temp\autoMagic.shp ";//输出文件路径 注意是矢量文件 info.ShpFilePath = @"D:\MapData\Raster\水体提取数据\WR_20171219_A0303_636493863981864520\SHP_FE233_20171219_636493846049962321.shp";//矢量范围路径 info.Type = 0;//自动提取类型 默认0 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll","PIE.CommonAlgo.DataAutoMagicAlgo"); if (algo == null) return; algo.Name = "归一化水体指数分类"; algo.Params = info; bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo); if (result) { MessageBox.Show("归一化水体指数分类算法执行成功"); ILayer layer = LayerFactory.CreateDefaultLayer(info.OutputFilePath); if (layer == null) return; m_HookHelper.ActiveView.FocusMap.AddLayer(layer); m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); }}
PIE SDK归一化水体指数法的更多相关文章
- PIE SDK水体指数法
1.算法功能简介 单波段阈值法是通过选择某单一波段为判识参数,这一波段往往是水体特征最明显而其它地物相对不太突出的波段(如近红外波段和中红外波段),然后再划定阈值来确定水体信息.该方法主要是利用水体在 ...
- PIE SDK Command&&Tool工具命令一览表
PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...
- PIE SDK水深提取算法
1.算法功能简介 水深提取算法就是根据输入的水位设为d,dem设为h 这两个数据做一个差值运算,则水深计算公式为d-h;本示例中的是基于洞庭湖提取的水体矢量文件的范围来计算dem和水位25米的差值. ...
- PIE SDK 距离分类和最大似然分类
1.算法功能简介 监督分类,也叫训练场地法.训练分类法,是遥感图像分类的一种,用被确认类别的样本像元去识别其他未知类别像元的过程.监督分类算法有平行算法.平行六面体法.最小距离法.最大似然法.马 ...
- PIE SDK波段运算
1.算法功能简介 波段运算(Band Math)工具能够方便的执行图像中的各个波段的加减乘除.三角函数.指数.对数等数学函数计算,也可以使用IDL编写的函数. 由于每个用户都有独特的需求,利用此工具用 ...
- PIE SDK频率域滤波
1.算法功能简介 频率域滤波的基本工作流程为:空间域图像的傅里叶变换→频率域图像→设计滤波器→傅里叶逆变换→其他应用. 低通滤波,对频率域的图像通过滤波器削弱或抑制高频部分而保留低频部分的滤波方法,可 ...
- PIE SDK同态滤波
1.算法功能简介 同态滤波是减少低频增加高频,从而减少光照变化并锐化边缘或细节的图像滤波方法. 同态滤波的流程为:空间域图像→对数运算→傅里叶正变换→同态滤波――傅里叶逆变换→指数运算→同态滤波结果. ...
- 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与OpenCV结合说明文档
1.功能简介 OpenCV是基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 ...
随机推荐
- 【Mysql】了解Mysql中的启动参数和系统变量
一.启动参数 在程序启动时指定的设置项也称之为启动选项(startup options),这些选项控制着程序启动后的行为. 1)在命令行上使用选项 启动服务器程序的命令行后边指定启动选项的通用格式就是 ...
- Ubuntu 18.04上安装Apache, MySQL, PHP, LAMP
1.安装 Apache $ sudo apt update && sudo apt install apache2 中间会遇到停顿询问是否继续, 输入 y 然后 回车. 2.测试 Ap ...
- 关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案
微信小程序开发环境苹果IOS真机预览报SSL协议错误问题 原文来自:https://blog.csdn.net/qq_27626333/articl ...
- JS高阶---继承模式(原型链继承)
[前言] 之前已经介绍了对象创建的五种模式,下面看下继承模式 本节介绍下<原型链继承> [主体] 验证如下: 关键点: .
- shell-处理用户输入
命令行参数 #./admin 10 30 读取参数 [root@localhost scrips]# vi test28.sh #!/bin/bashfactorial=1for ((number=1 ...
- Java高级——泛型
本文主要讲述泛型的使用 1.在集合中的使用 2.自定义泛型类.泛型接口.泛型方法 3.泛型与继承的关系 4.通配符 由于第一点和第二点在平常的编码工作中已熟练,本文重点讲述后面两点. 直接show t ...
- logging模块、json序列化数据类型、单例、exception和baseException
1.logging模块的作用以及应用场景 https://www.cnblogs.com/petrolero/p/9788134.html 2.json序列化可以处理的数据类型有哪些,如何定制支持da ...
- C++中#define与typedefine的区别
原文链接:https://www.cnblogs.com/fengfengqingqingyangyang/p/3270432.html (1)typedef是用来定义关键字/标识符的别名,并未分配内 ...
- C++面向对象程序设计学习笔记(1)
基本概念 对象: 面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体,每个对象都是由数据和操作代码两部分构成的. 类: 面向对象程序设计中,类是具有相同的数据 ...
- <Random> 380 381(hard) 138
380. Insert Delete GetRandom O(1) class RandomizedSet { ArrayList<Integer> nums; HashMap<In ...