主要内容

ns3

测量归一化光谱相似度得分

    描述

    例子

    分数= ns3 (inputDatarefSpectrum测量高光谱数据中每个像素光谱之间的光谱相似度inputData和指定的参考光谱refSpectrum采用归一化谱相似度评分(NS3)方法。使用此语法可识别高光谱数据立方体中的不同区域或材料。有关NS3方法的详细信息,请参见更多关于

    例子

    分数= ns3 (testSpectrumrefSpectrum测量指定测试光谱之间的光谱相似性testSpectrum参考光谱refSpectrum用NS3方法。使用此语法将未知材料的光谱特征与参考光谱进行比较,或计算两个光谱特征之间的光谱变异性。

    请注意

    此函数需要图像处理工具箱™高光谱成像库.您可以安装图像处理工具箱高光谱成像库从Add-On Explorer。有关安装插件的更多信息,请参见获取和管理插件

    例子

    全部折叠

    将高光谱数据读入工作空间。

    超立方(“jasperRidge2_R198.hdr”);

    估计数据立方体中频谱不同端元的数量countEndmembersHFC函数。

    numEndmembers = countEndmembersHFCPFA的, 10 ^ 7);

    利用NFINDR算法从数据立方体中提取端元谱特征。

    endmembers = nfindr(hcube,numEndmembers);

    绘制提取的端元的光谱特征图。

    图(endmembers) xlabel(“乐队”) ylabel (“反射”)传说(“位置”“Bestoutside”

    图中包含一个axes对象。axis对象包含10个类型为line的对象。

    计算每个端元与数据立方体中每个像素光谱之间的NS3距离。

    score = 0 (size(hcube.DataCube,1),size(hcube.DataCube,2),numEndmembers);i = 1:numEndmembers score(::,i) = ns3(hcube,endmembers(:,i));结束

    从每个像素光谱的距离得分中获得相对于所有端元的最小得分值。每个最小分数的索引标识了与像素光谱表现出最大相似性的端元光谱。一个索引值,n,在空间位置(xy)表示空间位置像素的光谱特征(xy的光谱特征最匹配nendmember。

    [~,matchingIdx] = min(score,[],3);

    方法估计输入数据的RGB图像彩色化函数。

    rgbImg = colorize(hcube,“方法”“rgb”“ContrastStretching”,真正的);

    显示RGB图像和匹配的索引值的矩阵。

    图(“位置”,[0 0 800 400])副图(“位置”,[0 0.1 0.4 0.8]) imagesc(rgbImg)轴标题(“RGB高光谱数据图像”)次要情节(“位置”,[0.45 0.1 0.45 0.8]) imagesc(matchingIdx)轴标题(“匹配端元指数”) colorbar

    图中包含2个轴对象。标题为RGB Image of Hyperspectral Data的坐标轴对象1包含一个类型为Image的对象。axis对象2的标题为“匹配端点成员的索引”,包含一个类型为image的对象。

    将高光谱数据读入工作空间。

    超立方(“jasperRidge2_R198.hdr”);

    找出高光谱数据的前10个端元。

    numEndmembers = 10;endmembers = nfindr(hcube,numEndmembers);

    考虑第一个端元作为参考谱,其余端元作为测试谱。

    refSpectrum = endmembers(:,1);testSpectra = endmembers(:,2:end);

    绘制参考光谱和其他端元光谱。

    图绘制(refSpectrum,“线宽”, 2)情节(testSpectra)label = cell(1,numEndmembers-1);标签{1}=“参考”itr = 1:numEndmembers-1 label{itr+1} = [“endmember -”num2str (itr)];结束包含(“乐队”) ylabel (“相对于红光”)传说(标签,“位置”“Bestoutside”

    图中包含一个axes对象。axis对象包含10个类型为line的对象。这些对象分别代表Reference、endmember-1、endmember-2、endmember-3、endmember-4、endmember-5、endmember-6、endmember-7、endmember-8、endmember-9。

    计算参考光谱和测试光谱之间的NS3评分。

    score = 0 (1,numEndmembers-1);itr = 1:numEndmembers-1 score(itr) = ns3(testSpectra(:,itr),refSpectrum);结束

    找出与参考谱具有最大相似度(最小距离)的测试谱。然后,找到与参考谱相似度最小(距离最大)的测试谱。

    [minval,minidx] = min(分数);maxMatch = testSpectra(:,minidx);[maxval,maxidx] = max(分数);minMatch = testSpectra(:,maxidx);

    绘制参考谱、最大相似度和最小相似度测试谱。得分值最小的测试谱表明与参考端元的相似性最高。另一方面,得分值最大的测试谱具有最高的谱变异性。

    图绘制(refSpectrum,“线宽”, 2)情节(maxMatch“k”)情节(minMatch“r”)包含(带数字的) ylabel (的数据值)传说(参考光谱的“最大匹配测试谱”“最小匹配测试谱”...“位置”“Southoutside”)标题(“光谱之间的相似性”)文本(40500,“最高分:”num2str (maxval)),“颜色”“r”)文本(120、1900、“最小得分:”num2str (minval)),“颜色”“k”

    图中包含一个axes对象。标题为Similarity Between Spectra的axis对象包含5个类型为line、text的对象。这些对象分别表示参考谱、最大匹配测试谱、最小匹配测试谱。

    输入参数

    全部折叠

    输入高光谱数据,指定为a超立方体对象或包含数据立方体的三维数字数组。如果输入是a超立方体对象,则数据从DataCube属性。

    测试光谱,指定为C元向量。测试光谱是未知区域或材料的光谱特征。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    参考光谱,用a表示C元向量。参考光谱是已知区域或物质的光谱特征。函数根据这些值匹配测试谱。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    输出参数

    全部折叠

    NS3评分,作为标量或矩阵返回。输出是

    • 标量—如果指定testSpectrum输入参数。该函数将测试光谱签名与参考光谱签名进行匹配,并返回一个标量值。测试光谱和参考光谱必须是相同长度的向量。

    • 矩阵-如果指定inputData输入参数。该函数将数据立方体中每个像素的光谱签名与参考光谱签名进行匹配,并返回一个矩阵。如果数据多维数据集的大小——- - - - - -N——- - - - - -C参考谱是一个长度向量C,输出矩阵为大小——- - - - - -N

    NS3值越小,说明测试签名和参考签名匹配越强。

    数据类型:|

    更多关于

    全部折叠

    归一化光谱相似度评分(NS3)

    NS3方法基于两个光谱之间的欧氏距离和SAM距离计算光谱相似度。让r而且t分别作为参考光谱和测试光谱。计算两个光谱之间的欧氏距离为:

    一个 E u c l d e 一个 n 1 C 1 C t r 2

    然后,计算SAM值α

    α 因为 1 1 C t r 1 C t 2 1 C r 2

    最后,计算NS3得分为:

    N 年代 3. 一个 E u c l d e 一个 n 2 + 1 因为 α 2

    参考文献

    [1] Nidamanuri, Rama Rao和Bernd Zbell。归一化光谱相似度评分(NS3.)作为一种高效的谱库搜索方法用于高光谱图像分类。应用地球观测和遥感专题选刊4,没有。1(2011年3月):226-40。https://doi.org/10.1109/JSTARS.2010.2086435。

    版本历史

    在R2020b中引入