zoukankan      html  css  js  c++  java
  • PIE SDK主/次要分析

    1.算法功能简介

        主要分析功能是采用类似卷积滤波的方法将较大类别中的虚假像元归到该类中,首先定义一个变换核尺寸,然后用变换核中占主要地位(像元最多)类别数代替中心像元的类别数,次要分析相反,用变换核中占次要地位的像元的类别数代替中心像元的类别数。

        PIE SDK支持算法功能的执行,下面对主/次要分析算法功能进行介绍。

    2.算法功能实现说明

    2.1. 实现步骤

    第一步

    算法参数设置

    第二步

    算法执行

    第三步

    结果显示

    2.2. 算法参数

    算法名称

    主/次要分析

    C#算法DLL

    PIE.CommonAlgo.dll

    C#算法名称

    PIE.CommonAlgo.ImgClassPostMMAAlgo

    参数结构体

    StMajMinParameter

    参数说明

    InputFileName

    String

    输入分类文件

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

    OutputFilePath

    String

    输出分类主次要分析文件路径

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

    Veciselclass

    IList<Int>

    选中类别索引集合(正整数)

    VeciNotselclass

    IList<Int>

    未选中类别索引集合(正整数)

    MajMin

    Int

    分析方法类别(1代表次要,0代表主要)

    KernelX

    Int

    核大小X(大于等于3的奇数)

    KernelY

    Int

    核大小Y(大于等于3的奇数)

    Weight

    Int

    中心像元比重(大于等于1的正数)

    VecColor

    IList<Int>

    颜色列表

    FuncName

    String

    功能名称

    2.3. 示例代码

    项目路径

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

    数据路径

    百度云盘地址下/PIE示例数据/栅格数据/01.GF1/ISODataClassification.tif

    视频路径

    百度云盘地址下/PIE视频教程/10.算法调用/图像处理/主次要分析算法.avi

    示例代码

     1  /// <summary>
     2 /// 主/次要分析算法测试,本算法实现了将ip_result1.tif进行主/次要分析,选择的分类列表为全部分类,形态学算子Rows和Columns均为3
     3 ///
     4 /// </summary>
     5 public override void OnClick()
     6 {
     7 #region 1、参数设置
     8 PIE.CommonAlgo.StMajMinParameter info = new PIE.CommonAlgo.StMajMinParameter();
     9 
    10 info.InputFileName = @"D:DataISODataClassification.tif";
    11 info.OutputFileName = @"D:Dataip_result6.tif";
    12 info.Veciselclass = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7,8 };
    13 info.VeciNotselclass = new List<int> {  };
    14 info.MajMin = 1;
    15 info.KernelX = 3;
    16 info.KernelY = 3;
    17 info.Weight=1;
    18 info.VecColor = null;
    19 
    20 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImgClassPostMMAAlgo");
    21 if (algo == null) return;
    22 #endregion
    23 
    24 //2、算法执行
    25 PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
    26 algo.Name = " 主/次要分析";
    27 algo.Params = info;
    28 bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
    29 
    30 //3、结果显示
    31 ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:Dataip_result6.tif");
    32 m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
    33 m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
    View Code

    2.4.示例截图

  • 相关阅读:
    解决chrome浏览器无法得到window.showModalDialog返回值的问题
    Javascript 中 null、NaN和undefined的区别
    Windows Server 2003 asp网页不能访问的常见问题
    关于SQLServer无法对数据库'XXX'执行删除,因为它正用于复制。错误:'3724' 的解决方案
    关于Gridview激发了未处理的事件“RowDeleting”错误的处理
    ASP.NET中实现文件下载功能
    C#中ref和out的作用和区别
    关于Pascal(帕斯卡)以及Camel(驼峰)命名法
    期末作业验收
    SDN第五次上机作业
  • 原文地址:https://www.cnblogs.com/PIESat/p/10215715.html
Copyright © 2011-2022 走看看