• PIE SDK缨帽变换


    1.算法功能简介

        缨帽变换是根据多光谱遥感中土壤、植被等信息在多维光谱空间中信息分布结构对图像做的经验性线性正交变换。 PIE 支持对 Landsat MSS、 Landsat 5 TM、Landsat 7 ETM 数据进行变换。

        缨帽变换旋转光谱的坐标空间,旋转后的坐标轴不是指到主成分的方向,而是指到另外的方向,而这些方向与地物类型和变化有密切的关系,特别是与植物生长和土壤有关。缨帽变换既可以实现信息压缩,又可以帮助解译分析农作物特征。这个变换主要用于陆地资源卫星数据,包括 MSS、 TM 和 ETM+传感器的图像。

        对于 TM 和 ETM+图像, K-T 变换的前 3 个分量的实际物理意义:

        1) 亮度,第一分量,反映了总体的反射值。

        2) 绿度,第二分量,用亮度和绿度两个分量组成的二维平面可叫做“植被”。

        3) 湿度,第三分量,湿度和亮度两个分量组成的一维平面可定义为“土壤”。

        PIE SDK支持算法功能的执行,下面对缨帽变换算法功能进行介绍。

    2.算法功能实现说明

    2.1. 实现步骤

    第一步

    算法参数设置

    第二步

    算法执行

    第三步

    结果显示

    2.2. 算法参数

    算法名称

    缨帽变换

    C#算法DLL

    PIE.CommonAlgo.dll

    C#算法名称

    PIE.CommonAlgo.TransformFuncAlgo

    参数结构体

    DataTrans_Exchange_Info

    参数说明

    AlgoType

    Int

    区分调用的是哪个算法

    0 主成分变换

    1 最小噪声变换

    2 傅里叶变换

    3 小波变换

    4 缨帽变换

    m_strInputFile

    String

    输入文件

    (*.tif;*.tiff;*.bmp;*.img;*.jpg;*.ldf)

    m_strOutputFile

    String

    输出文件

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

    m_strFileTypeCode

    String

    输出文件类型,默认GTiff

    .tif/.tiff——GTiff

    .img—————HFA

    其他—————ENVI

    m_nType

    Int

    缨帽变换需要的卫星类型

    LandSat5 TM

    LandSat MSS

    LandSat7 ETM

    2.3. 示例代码

    项目路径

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

    数据路径

    百度云盘地址下/PIE示例数据/栅格数据/02.Landsat8/LC81240392013219LGN00_MultiSpectral.tif

    视频路径

    百度云盘地址下/PIE视频教程/10.算法调用/图像处理/缨帽变换算法.avi

    示例代码

     1         /// <summary>
     2         /// 缨帽变换算法测试,本算法实现了将LC81240392013219LGN00_MultiSpectral.TIF进行缨帽变换
     3         /// </summary>
     4         public override void OnClick()
     5         {
     6             #region 1、参数设置
     7             PIE.CommonAlgo.DataTrans_Exchange_Info info = new PIE.CommonAlgo.DataTrans_Exchange_Info();
     8             info.m_strInputFile = @"D:DataLC81240392013219LGN00_MultiSpectral.TIF";
     9             //info.m_strInputFile = @"D:DataWorld.tif";
    10             //info.m_strInputFile = @"D:Dataip_result10.tif";
    11             info.m_strOutputFile = @"D:Dataip_result21.tif";      
    12             info.AlgoType = 4; //缨帽变换         
    13             info.m_strFileTypeCode = "GTiff";     
    14             info.m_nType = 1;
    15             PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.TransformFuncAlgo");
    16             if (algo == null) return;
    17             #endregion
    18             //2、算法执行
    19             PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
    20             algo.Name = " 缨帽变换";
    21             algo.Params = info;
    22             bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
    23 
    24             //3、结果显示
    25             ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:Dataip_result21.tif");
    26             m_HookHelper.ActiveView.FocusMap.AddLayer(layer);         m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
    27         }
    View Code

    2.4. 示例截图

     

  • 相关阅读:
    C语言I博客作业09
    C语言I博客作业08
    14
    13
    12
    11
    10
    9
    8
    7
  • 原文地址:https://www.cnblogs.com/PIESat/p/10215218.html
Copyright © 2020-2023  润新知