1.算法功能简介

最小噪声分离变换是用于判定图像数据内在的维数(即波段数),分离数据中的噪声,减少随后处理中的计算需求量。 MNF 本质上是两次层叠的主成分变换。第一次变换(基于估计的噪声协方差矩阵)用于分离和重新调节数据中的噪声,这步操作使变换后的噪声数据只有最小的方差且没有波段间的相关。第二步是对噪声白化数据( Noise-whitened)的标准主成分变换。为了进一步进行波谱处理,通过检查最终特征值和相关图像来判定数据的内在维数。数据空间可被分为两部分:一部分与较大特征值和相对应的特征图像相关,其余部分与近似相同的特征值以及噪声占主导地位的图像相关。

用 MNF 变换也可以从数据中消除噪声。操作如下:首先进行正向变换,判定哪些波段包含相关图像(根据对图像和特征值的检验),然后进行一个反向MNF 变换,用波谱子集(只包括“好”波段)或在反向变换前平滑噪声的方法来消除噪声。

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 缨帽变换

bForward

Bool

区分正变换还是逆变换

true 正;false 逆

m_strInputFile

String

输入文件

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

m_strStatFile

String

统计文件(输出最小噪声正变换元数据信息)

m_strOutputFile

String

输出文件

*.tif;*.tiff; *.img

m_strFileTypeCode

String

输出文件类型,默认GTiff

.tif/.tiff——GTiff

.img—————HFA

其他—————ENVI

2.3. 示例代码

项目路径

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

数据路径

百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif

视频路径

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

示例代码

          //(一)最小噪声正变换
/// <summary>
///最小噪声正变换算法测试,本算法实现了将World.tif进行最小噪声正变换
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.DataTrans_Exchange_Info info = new PIE.CommonAlgo.DataTrans_Exchange_Info(); info.m_strInputFile = @"D:\Data\World.tif";
info.m_strOutputFile = @"D:\Data\MinimumNoiseTransformation.tif";
info.AlgoType = ; //最小噪声变换
info.bForward = false; //逆变换
info.m_strStatFile = @"D:\Data\pcasta.sta"; //最小噪声变换
info.m_strFileTypeCode = "GTiff";
//info.lOutBandNum = 1;
PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.TransformFuncAlgo");
if (algo == null) return;
#endregion //2、算法执行
PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
algo.Name = "最小噪声正变换";
algo.Params = info;
bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo); //3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\MinimumNoiseTransformation.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
//(二)最小噪声逆变换
/// <summary>
///最小噪声逆变换算法测试,本算法实现了将World.tif进行最小噪声逆变换
/// </summary>
public override void OnClick()
{
#region 1、参数设置
PIE.CommonAlgo.DataTrans_Exchange_Info info = new PIE.CommonAlgo.DataTrans_Exchange_Info(); info.m_strInputFile = @"D:\Data\MinimumNoiseTransformation.tif";
info.m_strOutputFile = @"D:\Data\ip_result7.tif";
info.AlgoType = ; //最小噪声变换
info.bForward = false; //逆变换
info.m_strStatFile = @"D:\Data\pcasta.sta"; //最小噪声变换
info.m_strFileTypeCode = "GTiff"; PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.TransformFuncAlgo");
if (algo == null) return;
#endregion //2、算法执行
PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;
algo.Name = "最小噪声逆变换";
algo.Params = info;
bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
//3、结果显示
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(@"D:\Data\ip_result7.tif");
m_HookHelper.ActiveView.FocusMap.AddLayer(layer); m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.4. 示例截图

最小噪声正变换

最小噪声逆变换

PIE SDK最小噪声变换的更多相关文章

  1. PIE SDK彩色空间变换

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

  2. PIE SDK主成分变换

    1.算法功能简介   主成分变换(Principal Component Analysis,PCA)又称K-L(Karhunen-Loeve)变换或霍特林(Hotelling)变换,是基于变量之间的相 ...

  3. PIE SDK缨帽变换

    1.算法功能简介 缨帽变换是根据多光谱遥感中土壤.植被等信息在多维光谱空间中信息分布结构对图像做的经验性线性正交变换. PIE 支持对 Landsat MSS. Landsat 5 TM.Landsa ...

  4. 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 ...

  5. PIE SDK傅里叶变换

    1.算法功能简介 傅里叶变换能把遥感图像从空域变换到只包含不同频域信息的频域中.原图像上的灰度突变部位(如物体边缘).图像结构复杂的区域.图像细节及干扰噪声等,经傅里叶变换后,其信息大多集中在高频区: ...

  6. PIE SDK小波变换

    1.算法功能简介 小波变换是一种信号的时间——尺度分析方法,具有多分辨率分析的特点,而且在时频两域都具有表征信号局部特征的能力,是一种窗口大小固定不变但其形状可变,时间窗和频率窗都可变的时频局部化分析 ...

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

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

  8. PIE SDK ISODATA分类

    1.算法功能简介 ISODATA(IterativeSelf-OrganizingDataAnalysisTechniqueAlgorithm)即迭代式自组织数据分析技术, 其大致原理是首先计算数据空 ...

  9. PIE SDK均值滤波

    1.算法功能简介 均值滤波是最常用的线性低通滤波,它均等地对待邻域中的每个像素.对于每个像素,取邻域像素值的平均作为该像素的新值.均值滤波算法简单,计算速度快,对高斯噪声比较有效.从频率域的角度看,相 ...

随机推荐

  1. TP5图片上传

    /*图片上传*/ public function upload(){ // 获取表单上传文件 例如上传了001.jpg $file = request()->file('file'); // 移 ...

  2. 【Head First Java 读书笔记】(二)类与对象

    前篇当中,代码都放在main()里面,那根本不是面向对象的做法. 椅子大战(对象如何改变你的一生) 程序规格: 在图形接口画出四方形,圆形和三角形,当用户点选图形时,图形需要顺时针转360度并依据形状 ...

  3. wp后台更新瓷片

    下载源码 还有一种方式,更新瓷片方式 1. /// <summary> /// 定时更新磁贴 /// </summary> public class ShellUpdate { ...

  4. C#常见编译报错

    mCaster.PlayAnim(ANIMID.ASTD); No overload for method 'PlayAnim' takes '1' arguments PlayAnim()内有两个参 ...

  5. AppIcon应用图标 and Launchimage启动图标的制作

    1.制作软件 需要在AppStore里搜索:Appicons and Launchimages Lite 2.操作步骤 看图示意(三步) 1)选择资源源文件 2)选择需要应用的平台 3)选择生成的目标 ...

  6. IO相关3(string流)

    sstream 头文件定义了三个类型来支持内存 IO,这些类型可以向 string 写入数据,从 string 读取数据,就像 string 是一个 IO 流一样. istringstream 从 s ...

  7. uoj #111. 【APIO2015】Jakarta Skyscrapers

    #111. [APIO2015]Jakarta Skyscrapers 印尼首都雅加达市有 NN 座摩天楼,它们排列成一条直线,我们从左到右依次将它们编号为 00 到 N−1N−1.除了这 NN 座摩 ...

  8. HDU6336-2018ACM暑假多校联合训练4-1005-Problem E. Matrix from Arrays-前缀和

    题意是给了一种矩阵的生成方式 让你求两个左边之间的矩阵里面的数加起来的和(不是求矩阵的值) 没看标程之前硬撸写了160行 用了前缀和以后代码量缩短到原来的1/3 根据规律可以推导出这个矩阵是在不断重复 ...

  9. select展开时 重新加载 option,ie 折叠问题 以及 chrome 没有变化问题

    这个bug是因为浏览器的渲染问题引起的 一:重新加载option的渲染处理 1:火狐能重新渲染,并且select不折叠 2:ie重新渲染,但是select收缩折叠 3:chrome直接不重新进行渲染, ...

  10. Linux系统管理之硬盘管理

    硬盘是计算的重要组成部件之一,硬盘为操作系统提供持久话存储的功能,在Linux硬盘设备的性能和好坏可能关系到生成线的安全和用户体验等等.熟练的掌握硬盘管理相关的信息能让我们处理起这些问题来得心应手. ...