1.算法功能简介

Pansharp 融合是基于最小二乘逼近法来计算多光谱影像和全色影像之间灰度值关系,具体过程是利用最小方差技术对参与融合的波段灰度值进行最佳匹配,以减少融合后的颜色偏差。该融合方法不受波段限制,可以实现多个波段的同时融合,能最大限度地保留多光谱影像的颜色信息(高保真)和全色影像的空间纹理信息。

PIE支持算法功能的执行,下面对Pansharp融合算法功能进行介绍。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

算法名称

Pansharp融合

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo.PansharpFuseAlgo

参数结构体

Pansharp_Exchange_Info

参数说明

PanFilePath

String

输入高分辨率数据路径

MssFilePath

String

输入多光谱数据路径

MULChannels

IList<int>

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

HighChannel

Int

融合选择的高分辨率数据波段

OutputFilePath

String

输出文件

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

FileTypeCode

String

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

.tif/.tiff——GTiff

.img—————HFA

其他—————ENVI

ResampleMode

Int

重采样类型

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

AlgoType

Int

融合类型

0代表pca融合 、1代表pansharp 融合

FuncName

String

功能名称

BMultiThread

Bool

是否多线程(true)

TRUE 是; FALSE 否

2.3. 示例代码

项目路径

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

数据路径

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

视频路径

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

示例代码

          /// <summary>
///Pansharp融合算法测试,本算法实现了将PAN.tif和MS.tif进行最近邻域法Pansharp融合
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.Pansharp_Exchange_Info info = new PIE.CommonAlgo.Pansharp_Exchange_Info(); info.PanFilePath = @"D:\Data\PAN.tif";
info.MssFilePath = @"D:\Data\MS.tif";
info.MULChannels = new List<int> { , , };
info.HighChannel = ;
info.OutputFilePath = @"D:\Data\result8.tif";
info.FileTypeCode = "Gtiff";
info.ResampleMode = ; info.AlgoType = ; //pansharp 融合
info.BMultiThread = true; PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.PansharpFuseAlgo");
if (algo == null) return;
#endregion //2、算法执行
PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
algo.Name = "Pansharp融合";
algo.Params = info;
algo.Params = info;
(algo as PIE.SystemAlgo.ISystemAlgoEvents).OnExecuteCompleted +=PansharpFuseAlgo_OnExecuteCompleted;
(algo as PIE.SystemAlgo.ISystemAlgoEvents).OnProgressChanged += PansharpFuseAlgo_OnProgressChanged; PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
statusBar.ShowProgress(, , ""); PIE.SystemAlgo.AlgoFactory.Instance().AsynExecuteAlgo(algo);
} int PansharpFuseAlgo_OnProgressChanged(double complete, string msg, SystemAlgo.ISystemAlgo algo)
{
PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
statusBar.UpdateProgress((int)complete, msg);
return ;
} void PansharpFuseAlgo_OnExecuteCompleted(SystemAlgo.ISystemAlgo algo)
{
PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
statusBar.UpdateProgress(, "");
statusBar.HideProgress(); //3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\result8.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
(algo as PIE.SystemAlgo.ISystemAlgoEvents).OnExecuteCompleted -= PansharpFuseAlgo_OnExecuteCompleted;
(algo as PIE.SystemAlgo.ISystemAlgoEvents).OnProgressChanged -= PansharpFuseAlgo_OnProgressChanged;
}

2.4.示例截图

PIE SDK Pansharp融合的更多相关文章

  1. PIE SDK PCA融合

    1.算法功能简介 PCA 融合分三步实现,首先将多光谱数据进行主成分变换,然后用高分辨单波段替换第一主成分波段,最后进行主成份逆变换得到融合图像. PIE支持算法功能的执行,下面对PCA融合算法功能进 ...

  2. PIE SDK SFIM融合

    1.算法功能简介 SFIM 融合方法全称为基于平滑滤波的亮度变换.基本原理是将高分辨率影像通过低通滤波抑制其高频空间信息保留低频信息,再将原高分辨率影像与通过低通滤波的高分辨率影像进行比值运算,以抵消 ...

  3. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  4. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  5. PIE SDK 距离分类和最大似然分类

       1.算法功能简介 监督分类,也叫训练场地法.训练分类法,是遥感图像分类的一种,用被确认类别的样本像元去识别其他未知类别像元的过程.监督分类算法有平行算法.平行六面体法.最小距离法.最大似然法.马 ...

  6. PIE SDK与OpenCV结合说明文档

    1.功能简介 OpenCV是基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 ...

  7. PIE SDK影像坏线修复

    1.算法功能简介 坏条带的由来:2003年5月31日,Landsat-7ETM+机载扫描行校正器(SLC) 故障,导致此后获取的影像出现了数据条带丢失,严重影响了Landsat ETM遥感影像的使用. ...

  8. PIE SDK与GeoServer结合说明文档

    1.  GeoServer简介 GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操 ...

  9. PIE SDK组件式开发综合运用示例

    1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...

随机推荐

  1. 复习扩展方法 涉及委托,这里我使用自定义委托类型 public delegate bb MyFunc<in T,out bb> (T arg)

    using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text; ...

  2. VS code docker 调试 asp.net core

    前言 .net core的诞生就是为了解决跨平台的事情的,所以.net core app运行在linux.macOS.docker上也不是什么新鲜事了. 相信已经有不少.net core的项目已经部署 ...

  3. CORS同源策略

    同源策略以及跨域资源共享在大部分情况下针对的是Ajax请求.同源策略主要限制了通过XMLHttpRequest实现的Ajax请求,如果请求的是一个“异源”地址,浏览器将不允许读取返回的内容. 支持同源 ...

  4. HDU 3362 Fix (状压DP)

    题意:题目给出n(n <= 18)个点的二维坐标,并说明某些点是被固定了的,其余则没固定,要求添加一些边,使得还没被固定的点变成固定的, 要求总长度最短. 析:由于这个 n 最大才是18,比较小 ...

  5. POJ3026 Borg Maze(bfs求边+最小生成树)

    Description The Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of ...

  6. 一个Sql备注

    ;WITH CTE AS ( SELECT [RGTCID] ,ltrim(rtrim(T.N.value('.','varchar(100)'))) as Querystr FROM [R_GT_C ...

  7. C# socket请求的名称有效 但是找不到请求的类型的数据

    程序以前在xp下运行一直良好,但将安装在win7下面却出现"请求的名称有效 但是找不到请求的类型的数据"错误,程序底层通信是基于socket,时间久了就会出现系统黑屏死机,但并不知 ...

  8. 仓储(Repository)和工作单元模式(UnitOfWork)

    仓储和工作单元模式 仓储模式 为什么要用仓储模式 通常不建议在业务逻辑层直接访问数据库.因为这样可能会导致如下结果: 重复的代码 编程错误的可能性更高 业务数据的弱类型 更难集中处理数据,比如缓存 无 ...

  9. Kotlin 函数和函数表达式

    学习了kotlin 的控制. 其中最为强大的是各种控制可以直接作为表达式来使用. 那么在kotlin中,函数也是可以作为表达式来使用. 而且kotlin中函数的创建方式有很多方式. 第一种: 传统创建 ...

  10. ubuntu14.04,安装docker(源代码管理工具)

    一,安装docker: 1,安装curl:在shell中执行:sudo apt-get install curl 2,shell中执行:curl -sSL https://get.daocloud.i ...