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:\Data\ISODataClassification.tif";
11 info.OutputFileName = @"D:\Data\ip_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:\Data\ip_result6.tif");
32 m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
33 m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
View Code

2.4.示例截图

 

转载于:https://www.cnblogs.com/PIESat/p/10215715.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值