1.算法功能简介

神经网络是模仿人脑神经系统的组成方式与思维过程而构成的信息处理系统,具有非线性、自学性、容错性、联想记忆和可以训练性等特点。在神经网络中,知识和信息的传递是由神经元的相互连接来实现的,分类时采用非参数方法,不需对目标的概率分布函数作某种假定或估计,因此网络具备了良好的适应能力和复杂的映射能力。神经网络的运行包括两个阶段:一是训练或学习阶段( Training or Learning Phase),向网络提供一系列的输入-输出数据组,通过数值计算和参数优化,不断调整网络节点的连接权重和阈值,直到从给定的输入能产生期望输出为止;二是预测(应用)阶段( Generalization Phase),用训练好的网络对未知的数据进行预测。

PIE SDK支持算法功能的执行,下面对神经网络聚类算法功能进行介绍。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

算法名称

神经网络聚类

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.NeuralNetworkClusterAlgo

参数结构体

NeuralNetworkCluster_Exchange_Info

参数说明

InputFilePath

String

输入文件(*.tif;*.tiff; *.img)

OutputFilePath

String

输出文件路径

(*.tif;*.tiff; *.img)

AlgType

Int

分类方法(0代表交互传播网络;1代表自组织特征映射网络)

ClassNum

Int

分类数(大于0正整数,默认5)

Windowsize

Int

窗口大小(0代表1*1窗口,1代表3*3窗口,2代表5*5窗口)

Traintimes

Int

迭代次数(大于0的正整数,默认10000)

Ispeed

Int

收敛速率(大于0小于等于100的正整数)

FuncName

String

功能名称

FileTypeCode

String

根据输出类型获得文件编码类型

.tif/.tiff——GTiff

.img—————HFA

其他—————ENVI

ListBands

IList<Int>

输入影像的波段(至少选择两个波段,{ 0, 1, 2, 3 })

 

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/10.算法调用/图像处理/10.算法调用/图像处理/ ImageProcessing. NeuralNetworkClusterAlgo

数据路径

百度云盘地址下/PIE示例数据/栅格数据/01.GF1/GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff

视频路径

百度云盘地址下/PIE视频教程/10.算法调用/图像处理/神经网络聚类算法.avi

示例代码

          /// <summary>
/// 神经网络聚类算法测试,本算法实现了将GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff进行神经网络聚类
///预期类数为5,分类方法为交互传播网络,窗口大小为1*1窗口,迭代次数为10000,收敛速率为100
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.NeuralNetworkCluster_Exchange_Info info = new PIE.CommonAlgo.NeuralNetworkCluster_Exchange_Info(); info.InputFilePath = @"D:\Data\GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff";
info.OutputFilePath = @"D:\Data\ip_result3.tif";
info.ClassNum = ;
info.AlgType = ;
info.Windowsize = ;
info.Traintimes = ;
info.Ispeed = ;
info.FileTypeCode = "Gtiff";
info.LowBands = new List<int> { , , , }; PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.NeuralNetworkClusterAlgo");
if (algo == null) return;
#endregion
//2、算法执行
PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
algo.Name = " 神经网络聚类";
algo.Params = info;
bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
//3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\ip_result3.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer); m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.4. 示例截图

最新文章

  1. Chrome在302重定向的时候对原请求产生2次请求的问题说明
  2. VB模拟键盘输入的N种方法
  3. SQL Server 2012实施与管理实战指南(笔记)——Ch4数据库连接组件
  4. [转]Membership三步曲之入门篇 - Membership基础示例
  5. 在浏览器中输入Google.com并且按下回车之后发生了什么(转载)
  6. Nginx upstream 长连接
  7. Java中的显示锁 ReentrantLock 和 ReentrantReadWriteLock
  8. BZOJ4297 : [PA2015]Rozstaw szyn
  9. cocos2dx场景切换中init、onEnter、onEnterTransitionDidFinish的调用顺序
  10. javaweb学习总结九(xml解析以及调整JVM内存大小)
  11. XML常用颜色值
  12. LayoutInflater类详解
  13. JS、JQury - 文本框内容改变事件
  14. 【亲测】Appium测试Android混合应用时,第二次切换到WebView失败
  15. UESTC 1584 Washi与Sonochi的约定【树状数组裸题+排序】
  16. Kibana简单使用教程
  17. PQA组织的设置与运作
  18. 为何在新线程中使用注解获取不到Spring管理的Bean
  19. csv和excel互转
  20. 【WordPress】外网访问WordPress时无法加载样式表CSS

热门文章

  1. Codeforces 429B B. Working out
  2. Java主线程如何等待子线程执行结束(转)
  3. Tomcat之——内存溢出设置JAVA_OPTS
  4. Activity和Fragment的生命周期
  5. 【转】Android Android属性动画深入分析
  6. FTP无法获取目录及文件
  7. 「POJ 2699」The Maximum Number of Strong Kings
  8. lower_bound下确界
  9. 用python写个快排
  10. 洛谷P3358 最长k可重区间集问题(费用流)