主要内容

光谱学

计算高光谱指数

描述

例子

指数= spectralIndices (hcube计算高光谱数据的绿色指数:增强植被指数(EVI)、修正叶绿素吸收比指数(MCARI)和简单比指数(SR)。该函数读取数据立方体和存储在超立方体对象中的波长值hcube计算绿色指数。

例子

指数= spectralIndices (hcubeindexNames计算由指定的一个或多个光谱指数indexNames

指数= spectralIndices (hcube“所有”计算所有支持的光谱指数。金宝app

指数= spectralIndices (___“BlockSize”,blocksize通过使用名称-值对参数指定用于高光谱数据立方体的块处理的块大小“BlockSize”.您可以指定“BlockSize”除了前面语法中的输入参数外,还有名称-值对参数。

该函数将输入图像分成不同的块,对每个块进行处理,然后将每个块的处理后的输出连接起来,形成输出矩阵。高光谱图像是多维数据集,可能太大而无法放入整个系统内存中。这可能会导致系统在运行光谱学函数。如果遇到这样的问题,请使用此语法执行块处理。

例如spectralIndices (hcube BlockSize, [50 50])将输入图像分成大小为50 × 50的非重叠块,然后计算每个块中像素的光谱指数。

请注意

来执行块处理“BlockSize”名称-值对参数,您必须有MATLAB R2021a或更高版本。

请注意

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

例子

全部折叠

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

hcube =超立方体(“indian_pines.dat”);

计算数据立方体中每个像素的光谱指数值光谱学函数返回简单比率(SR)指数、增强植被指数(EVI)和修正叶绿素吸收比率指数(MCARI)。

指数= spectralIndices (hcube);

检查输出结构中的索引名称指数.读取输出时返回的对应索引图像。

index.IndexName
ans = "简单比率(SR)"
ans =“增强型植被指数”
改良叶绿素吸收比指数(MCARI)
srImg = (1) .IndexImage指数;eviImg = (2) .IndexImage指数;mcariImg = (3) .IndexImage指数;

从原始数据立方体估计对比度拉伸RGB图像彩色化函数。

rgbImg =再着色(hcube,“方法”“RGB”“ContrastStretching”,真正的);

显示原始和计算索引图像。SR指数大于3表示植被。EVI指数识别了密集植被,健康植被的典型EVI指数在0.2 ~ 0.8之间。MCARI指数表示一个地区叶绿素的丰度。

无花果=图(“位置”,[0 0 800 700]);axes1 =轴(“父”无花果,“位置”,[0 0.54 0.42 0.42]);显示亮度图像(rgbImg“父”, axes1);轴标题(“数据立方体的RGB图像”) axes2 =轴(“父”无花果,“位置”,[0.5 0.54 0.45 0.42]);显示亮度图像(srImg“父”, axes2);轴标题(“SR图像”) colorbar axes3 = axes(“父”无花果,“位置”,[0 0.035 0.45 0.42]);显示亮度图像(eviImg“父”, axes3);轴标题(以形象的) colorbar axes4 = axes(“父”无花果,“位置”,[0.5 0.035 0.45 0.42]);显示亮度图像(mcariImg“父”, axes4);轴标题(“MCARI形象”) colorbar

图中包含4个轴。标题为RGB Image of Data Cube的坐标轴1包含一个Image类型的对象。标题为SR Image的轴2包含一个Image类型的对象。标题为EVI Image的轴3包含一个Image类型的对象。标题为MCARI Image的轴4包含一个Image类型的对象。

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

hcube =超立方体(“jasperRidge2_R198.img”);

计算数据立方体中每个像素的MNDWI值,读取水指数图像。

指数= spectralIndices (hcube,“MNDWI”);mndwiImg = indices.IndexImage;

从原始数据立方体估计对比度拉伸RGB图像彩色化函数。

rgbImg =再着色(hcube,“方法”“RGB”“ContrastStretching”,真正的);

显示原始和MNDWI图像。

无花果=图(“位置”,[0 0 700 400]);axes1 =轴(“父”无花果,“位置”,[0 0.1 0.4 0.8]);imshow (rgbImg“父”axes1)标题(“数据立方体的RGB图像”) axes2 =轴(“父”无花果,“位置”,[0.45 0.15 0.47 0.7]);显示亮度图像(mndwiImg“父”axes2) colorbar轴标题(“MNDWI形象”

图中包含2个轴。标题为RGB Image of Data Cube的坐标轴1包含一个Image类型的对象。标题为MNDWI Image的轴2包含一个Image类型的对象。

水域的MNDWI值通常大于0.09。对MNDWI图像进行阈值分割,分割水体区域。指定阈值。

阈值= 0.09;

生成具有强度值的二值图像1对于分数大于或等于指定阈值的像素。所有其他像素的值为0。二值图像中值为的区域1对应于数据立方体中MNDWI值大于阈值的水体区域。

bw = mndwiImg >门槛;

将二值图像叠加到RGB图像上并显示叠加的图像。

overlayImg=imoverlay(rgbImg,bw[01]);图imagesc(叠加)轴标题(“水区覆盖在RGB图像上”

图中包含一个轴。标题为“水区域”的轴覆盖在RGB图像上,其中包含类型为“图像”的对象。

输入参数

全部折叠

输入高光谱数据,指定为超立方体对象。的DataCube财产超立方体对象包含高光谱数据立方体。

要计算的光谱索引的名称,指定为字符向量或字符串标量。还可以将多个光谱索引的名称指定为字符向量或字符串标量的单元数组。价值indexNames必须是表中列出的名字之一。

金宝app支持光谱指数
indexNames 描述
“蔡” 纤维素吸收指数
CMR的 粘土矿物比率
“追杀” 增强型植被指数
“GVI” 绿色植被指数
“MCARI” 改良叶绿素吸收比指数
“MIVI” 修正三角植被指数
“MNDWI” 修正归一化差水指数
MSI的 水分胁迫指数
“橡胶” 规范化的燃烧率
“NDBI” 归一化差异累积指数
“NDMI” 标准化泥浆差指数
“NDNI” 归一化差氮指数
的归一化植被指数 归一化植被差指数
“OSAVI” 优化土壤调整植被指数
“革命制度党” 光化学反射指数
“老” 简单的比

例子:indexNames =“革命制度党”indexNames = "革命制度党"indexNames ={的归一化植被指数,OSAVI}indexNames = {" GVI”、“NDMI "}

数据类型:字符|字符串

数据块的大小,指定为正整数的2元素向量。向量中的元素分别对应于每个块中的行数和列数。数据块的大小必须小于输入图像的大小。将高光谱图像分割成更小的块,可以在不耗尽内存的情况下处理大数据集。

  • 如果blocksize值太小,则函数的内存使用会减少,但会增加执行时间。

  • 如果blocksize值较大或等于输入图像大小,则执行时间减少,但增加内存使用为代价。

例子:“块大小”[20]指定每个数据块的大小为20x20。

输出参数

全部折叠

高光谱数据的光谱索引值,返回为带有两个字段的结构:IndexName指数

字段 描述
IndexName 为高光谱数据计算的光谱索引名称,以字符串形式返回。
指数 作为矩阵返回的索引图像。每个像素值是计算所有光谱波段的光谱索引值。如果输入处指定的高光谱数据立方体的大小为——- - - - - -N——- - - - - -C,索引图像的大小为——- - - - - -N

输出结构的大小取决于为高光谱数据计算的光谱指数的数量。

  • 如果第二个输入参数indexNames如果未指定,则输出为大小为1 × 3的结构数组。该结构阵列包含EVI、MCARI和SR索引对应的索引图像。

  • 如果第二个输入参数indexNames,长度为1-k,则输出大小为1-by-的结构数组k.您可以使用点表示法读取在输入处指定的每个光谱索引获得的输出。

  • 如果第二个输入参数为“所有”,则输出大小为1 × 16的结构数组。该结构阵列包含与所有支持的光谱索引相对应的索引图像。金宝app

数据类型:结构体

介绍了R2020b