主要内容

denoiseNGMeet

使用非本地满足全球方法的Denoise Hyperspectral图像

描述

例子

outputData= denoiseNGMeet (inputData采用非局部满足全局(non-local meets global, NGMeet)方法降低高光谱数据中的噪声。这是一种融合了空间非局部相似性和光谱低秩近似的迭代方法来估计原始像素值。有关更多信息,请参见算法

例子

outputData= denoiseNGMeet (inputData名称,值还使用一个或多个名称-值对参数指定选项。使用此语法设置NGMeet方法的参数值。

请注意

此功能需要图像处理工具箱™高光谱成像库.你可以安装图像处理工具箱高光谱成像库从附加的探险家。有关安装附加组件的详细信息,请参见获取和管理附加组件

例子

全部折叠

读取高光谱数据到工作区。

hcube =超立方体('paviau.hdr');

对输入数据进行归一化,并在归一化后的输入数据中加入高斯噪声。

hcube =超立方体(重新调节(hcube.DataCube) hcube.Wavelength);inputData = imnoise (hcube。DataCube,'高斯', 0, 0.005);inputData = assignData (hcube,':'':'':', inputData);

用NGmeet方法去噪高光谱数据。

outputData = denoiseNGMeet (inputData);

估计RGB图像的输入,噪声,和去噪的输出数据。通过应用对比度拉伸来增加图像的对比度。

originalImg =再着色(hcube,“方法”'RGB''僵硬',真正的);noisyimg = colorize(inputdata,“方法”'RGB''僵硬',真正的);denoisedImg =再着色(outputData,“方法”'RGB''僵硬',真正的);

显示原始、噪声和去噪数据的RGB图像。

图蒙太奇({Orijorimg,Noisyimg,Denoissimg})标题('输入图像|嘈杂的图像|去世图像');

读取高光谱数据到工作区。

hcube =超立方体('paviau.hdr');

对输入数据进行归一化,并在归一化后的输入数据中加入高斯噪声。

hcube =超立方体(重新调节(hcube.DataCube) hcube.Wavelength);inputData = imnoise (hcube。DataCube,'高斯', 0, 0.005);inputData = assignData (hcube,':'':'':', inputData);

使用NGMEET方法向噪声噪声数据进行去噪。将平滑参数值设置为0.01和迭代的数量。

outputdata = denoisengmeet(inputdata,“σ”, 0.01,“NumIterations”4);

估计RGB图像的输入,噪声,和去噪的输出数据。通过应用对比度拉伸来增加图像的对比度。

originalImg =再着色(hcube,“方法”'RGB''僵硬',真正的);noisyimg = colorize(inputdata,“方法”'RGB''僵硬',真正的);denoisedImg =再着色(outputData,“方法”'RGB''僵硬',真正的);

显示原始、噪声和去噪数据的RGB图像。

图蒙太奇({Orijorimg,Noisyimg,Denoissimg})标题('输入图像|嘈杂的图像|去世图像');

输入参数

全部折叠

输入高光谱数据,指定为3-D数字数组,表示大小的高光谱数据-经过-N-经过-C或者超立方体对象。如果输入是a超立方体对象时,函数读取存储在datacube.对象的属性。高光谱数据立方体必须是真实的、非稀疏的。

名称-值参数

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:denoiseNGMeet (hcube“σ”,0.3)

平滑参数,指定为逗号分隔的配对“σ”一个正标量。默认值是0.1乘以噪声方差(σ.n).增加这个值,就增加了去噪输出的平滑程度。

数据类型:||int8|INT16|INT32.|int64|uint8|uint16|uint32|uint64

低秩近似的频谱频带数,指定为包括的逗号分隔对'spectralsubspace'一个范围为(0,C]。C是输入数据中的频带数。高光谱数据中的终端数的数量可以是用于低秩近似的光谱带的数量的良好估计。您可以通过使用使用的输入超光线数据中的endMembers数量countEndmembersHFC函数。

数据类型:||int8|INT16|INT32.|int64|uint8|uint16|uint32|uint64

迭代次数,指定为逗号分隔的配对组成“NumIterations”一个正整数标量。增加这个值可以得到更好的去噪结果。

数据类型:||int8|INT16|INT32.|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

去噪的高光谱数据,以三维数字数组或超立方体对象。

算法

NGMEET方法通过使用这些步骤估计DEAORAY数据多维数据集。对于每次迭代,

  1. 计算噪声输入数据的频谱低秩近似值(Y),利用奇异值分解。近似结果是一个简化的数据立方体()和相关的正交基一个

  2. 执行减少数据多维数据集的空间去噪采用非局部相似过滤。你可以通过指定平滑参数来控制平滑的程度“σ”

  3. 执行逆投影。映射去噪减少的数据多维数据集到原空间的正交基一个.结果为去噪输出(X)在迭代中获得

  4. 执行迭代正则化。更新噪声输入数据,YI + 1λ.X+ (1 -λ.Y

  5. 重复步骤1到4,用于指定的迭代次数。最终价值X是去噪的高光谱数据。

参考

何伟,姚全明,李超,横古屋直人,赵启斌。“非局部满足全局:高光谱去噪的综合范式”。在2019 IEEE/CVF计算机视觉与模式识别大会(CVPR)6861-70。长滩,加利福尼亚州,美国:IEEE,2019. https://doi.org/10.1109/cvpr.2019.00703。

介绍了R2020b