• PIE SDK彩色标准化融合


     

    1.算法功能简介

        色彩标准化融合对彩色图像和高分辨率图像进行数学合成,从而使图像得到锐化。色彩归一化变换也被称为能量分离变换( Energy Subdivision Transform),它使用来自融合图像的高空间分辨率波段对输入图像的低空间分辨率波段进行增强。该方法仅对包含在融合图像波段的波谱范围内对应的输入波段进行融合,其他输入波段被直接输出而不进行融合处理。融合图像波段的波谱范围由波段中心波长和 FWHM( full width-half maximum)值限定。

       PIE支持算法功能的执行,下面对彩色标准化融合算法功能进行介绍。

    2.算法功能实现说明

    2.1. 实现步骤

    第一步

    算法参数设置

    第二步

    算法执行

    第三步

    结果显示

    2.2. 算法参数

    算法名称

    彩色标准化融合

    C#算法DLL

    PIE.CommonAlgo.dll

    C#算法名称

    PIE.CommonAlgo.CFusionAlgo

    参数结构体

    CFusion_Exchange_Info

    参数说明

    Type

    Int

    融合类型

    0 : SFIM融合

    1: 彩色标准化融合

    LowResFile

    IList<String>

    输入的多光谱数据波段名称集合

    LowBands

    IList<Int>

    多光谱数据波段集合{0,1,2,3}

    OutputFilePath

    String

    输出文件

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

    FileTypeCode

    String

    文件类型编码

    .tif/.tiff——GTiff

    .img—————HFA

    其他—————ENVI

    ResampleMode

    Int

    重采样类型

    (最近邻点插值0/双线性插值1/三次卷积法插值2)

    HighResNullValue

    Int

    融合所选择的高分辨率数据波段(默认0)

    lMaxCache

    Int

    最大缓存(默认16)

    FuncName

    String

    功能名称

    BMultiThread

    Bool

    是否多线程(默认true)

    TRUE 是; FALSE 否

    2.3. 示例代码

     

    项目路径

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

    数据路径

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

    视频路径

    百度云盘地址下/PIE视频教程/10.算法调用/图像预处理/彩色标准化融合算法.avi

    示例代码

     1 /// <summary>
     2 ///彩色标准化融合算法测试,本算法实现了将MS.tif和PAN.tif进行彩色标准化融合
     3 /// </summary>
     4 public override void OnClick()
     5 {
     6 #region 1、参数设置
     7 PIE.CommonAlgo.CFusion_Exchange_Info info = new PIE.CommonAlgo.CFusion_Exchange_Info();
     8 
     9 info.Type = 1; //彩色标准化融合
    10 //info.Type = 0; //SFIM融合
    11 string path1 = @"D:DataMS.tif";
    12 string path2 = @"D:DataPAN.tif";
    13 info.LowResFile = new List<String> { path1,path1,path1,path2 };
    14 info.LowBands = new List<int> { 0, 1, 2,0 };
    15 info.OutputFilePath = @"D:Data
    esult6.tif";
    16 info.FileTypeCode = "Gtiff";
    17 info.ResampleMode = 0;
    18 info.HighResNullValue = 0;
    19 info.lMaxCache = 16;
    20 info.BMultiThread = true;
    21 
    22 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.CFusionAlgo");
    23 if (algo == null) return;
    24 #endregion
    25 
    26 //2、算法执行
    27 PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
    28 algo.Name = "彩色标准化融合";
    29 algo.Params = info;
    30 (algo as PIE.SystemAlgo.ISystemAlgoEvents).OnExecuteCompleted +=CFusionAlgo_OnExecuteCompleted;
    31 (algo as PIE.SystemAlgo.ISystemAlgoEvents).OnProgressChanged += CFusionAlgo_OnProgressChanged;
    32 
    33 PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
    34 statusBar.ShowProgress(0, 100, "");
    35 
    36 PIE.SystemAlgo.AlgoFactory.Instance().AsynExecuteAlgo(algo);
    37 }
    38 
    39 int CFusionAlgo_OnProgressChanged(double complete, string msg, SystemAlgo.ISystemAlgo algo)
    40 {
    41 PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
    42 statusBar.UpdateProgress((int)complete, msg);
    43 return 0;
    44 }
    45 
    46 void CFusionAlgo_OnExecuteCompleted(SystemAlgo.ISystemAlgo algo)
    47 {
    48 PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
    49 statusBar.UpdateProgress(100, "");
    50 statusBar.HideProgress();
    51 
    52 //3、结果显示
    53 ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:Data
    esult6.tif");
    54 m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
    55 m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
    56 
    57 m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
    58 
    59 (algo as PIE.SystemAlgo.ISystemAlgoEvents).OnExecuteCompleted -= CFusionAlgo_OnExecuteCompleted;
    60 (algo as PIE.SystemAlgo.ISystemAlgoEvents).OnProgressChanged -= CFusionAlgo_OnProgressChanged;
    61 }
    View Code

    2.4. 示例截图

  • 相关阅读:
    Android 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi
    Android Unresolved Dependencies
    Android studio 自定义打包apk名
    Android Fragment与Activity交互的几种方式
    魅族和三星Galaxy 5.0webView 问题Android Crash Report
    Android几种常见的多渠道(批量)打包方式介绍
    Android批量打包 如何一秒内打完几百个apk渠道包
    上周热点回顾(9.30-10.6)团队
    上周热点回顾(9.23-9.29)团队
    上周热点回顾(9.16-9.22)团队
  • 原文地址:https://www.cnblogs.com/PIESat/p/10190434.html
Copyright © 2020-2023  润新知