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

示例代码

 /// <summary>
///彩色标准化融合算法测试,本算法实现了将MS.tif和PAN.tif进行彩色标准化融合
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.CFusion_Exchange_Info info = new PIE.CommonAlgo.CFusion_Exchange_Info(); info.Type = ; //彩色标准化融合
//info.Type = 0; //SFIM融合
string path1 = @"D:\Data\MS.tif";
string path2 = @"D:\Data\PAN.tif";
info.LowResFile = new List<String> { path1,path1,path1,path2 };
info.LowBands = new List<int> { , , , };
info.OutputFilePath = @"D:\Data\result6.tif";
info.FileTypeCode = "Gtiff";
info.ResampleMode = ;
info.HighResNullValue = ;
info.lMaxCache = ;
info.BMultiThread = true; PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.CFusionAlgo");
if (algo == null) return;
#endregion //2、算法执行
PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
algo.Name = "彩色标准化融合";
algo.Params = info;
(algo as PIE.SystemAlgo.ISystemAlgoEvents).OnExecuteCompleted +=CFusionAlgo_OnExecuteCompleted;
(algo as PIE.SystemAlgo.ISystemAlgoEvents).OnProgressChanged += CFusionAlgo_OnProgressChanged; PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
statusBar.ShowProgress(, , ""); PIE.SystemAlgo.AlgoFactory.Instance().AsynExecuteAlgo(algo);
} int CFusionAlgo_OnProgressChanged(double complete, string msg, SystemAlgo.ISystemAlgo algo)
{
PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
statusBar.UpdateProgress((int)complete, msg);
return ;
} void CFusionAlgo_OnExecuteCompleted(SystemAlgo.ISystemAlgo algo)
{
PIE.AxControls.IStatusBar statusBar = m_Application.StatusBar;
statusBar.UpdateProgress(, "");
statusBar.HideProgress(); //3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\result6.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 -= CFusionAlgo_OnExecuteCompleted;
(algo as PIE.SystemAlgo.ISystemAlgoEvents).OnProgressChanged -= CFusionAlgo_OnProgressChanged;
}

2.4. 示例截图

PIE SDK彩色标准化融合的更多相关文章

  1. PIE SDK彩色空间变换

    1. 算法功能简介 使用彩色空间变换工具可以将三波段红.绿.蓝图像变换到一个特定的彩色空间,并且能从所选彩色空间变换回 RGB.两次变换之间,通过对比度拉伸,可以生成一个色彩增强的彩色合成图像.此外, ...

  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. Oracle——单行函数

    两种 SQL 函数 单行函数 字符函数 大小写控制函数 SELECT employee_id, last_name, department_id FROM employees WHERE last_n ...

  2. 编写高质量代码改善C#程序的157个建议——建议21:选择正确的集合

    建议21:选择正确的集合 要选择正确的集合,首先要了解一些数据结构的知识.所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合. 集合的分类参考下图: 由于非泛型集合存在效率低及非类型安全 ...

  3. Displaying Speed and Direction Symbology from U and V vectors (转)

    This blog shows you how to calculate and symbolize wind or current speed and direction when the unde ...

  4. Arduino ADC + 模拟温度传感器LM35D

    LM35是美国国家半导体(后被TI收购)推出的精密温度传感IC系列,其信号输出方式为模拟输出,输出电压值与摄氏温度值呈正比,且用户不需额外的校正就能获得较高的测量精度.其主要特性有: 供电电压:4~3 ...

  5. android 多点触控

    多点触控 1.多点触控从字面意思讲就是你用大于等于2根的手指触摸子啊手机屏幕上. Android中监听触摸事件是onTouchEvent方法,它的参数为MotionEvent,下面列举MotionEv ...

  6. C# 中请使用Contains判断字符串是否包含另一段字符串

    ∵ :使用Contains 比 IndexOf 的性能要高很多. 因为 Contains 是判断某个字符串是否在该字符串里面,而IndexOf是返回对应下标值 但是在使用contains的时候,注意转 ...

  7. sqlserver中 多条数据合并成一条数据 (stuff 与 for xml path 连用)

    SQL 列转行,即多行合并成一条   需求:按照分组,将多条记录内容合并成一条,效果如下: 数据库示例: CREATE TABLE [t2]([NID] [bigint] NULL,[district ...

  8. [转] Draw Call未被批处理?告诉你在Unity 5.6中如何查找原因 [复制链接]

    Unity在5.6之前的版本中并未提供很直接的方式来查找Draw Call未被批处理的原因,但Unity 5.6在Frame Debugger中新增了一项功能,帮助开发者查找相关信息.今天这篇文章就为 ...

  9. [agc008f] Black Radius 树形dp

    Description ​ 给你一棵有NN个节点的树,节点编号为11到NN,所有边的长度都为11 ​ "全"对某些节点情有独钟,这些他喜欢的节点的信息会以一个长度为NN的字符串ss ...

  10. 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6

    结论:  浏览器 \ OS XP(IE6) XP(IE7) XP(IE8) Win7 x64(IE9) 猎豹浏览器2.0急速模式     Chrome/21 猎豹浏览器2.0兼容模式 IE6     ...