主要内容

sharc

使用卫星超立方大气快速校正(SHARC)进行大气校正

描述

例子

newhcube= sharc (hcube通过从输入的高光谱数据中计算地表辐亮度或地表反射率值,返回一个大气校正的数据立方体。该函数实现了SHARC算法来计算经大气校正的高光谱数据。

输入必须是经过辐射校正的高光谱数据。输入数据立方体的像素值必须是大气顶部(TOA)辐射值或TOA反射率值。为了获得更好的结果,使用TOA反射值。

请注意

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

例子

newhcube= sharc (hcube名称,值还使用一个或多个名称-值对参数指定选项。使用此语法设置SHARC的参数值。

例子

全部折叠

读取高光谱数据立方体到工作空间。

输入=超立方体(“EO1H0440342002212110PY_cropped.dat”);

确定坏光谱频带数使用BadBands参数。

bandNumber =找到(~ input.Metadata.BadBands);

从数据立方体中去除坏的光谱波段。

输入= removeBands(输入,“BandNumber”, bandNumber);

将数字转换为辐射值使用dn2radiance函数。

hcube = dn2radiance(输入);

将辐亮度值转换为反射率值radiance2Reflectance函数。

hcube = radiance2Reflectance (hcube);

计算大气校正数据使用sharc函数。

newhcube = sharc (hcube);

估计输入和大气校正输出数据的RGB图像。通过应用对比度拉伸来增加图像的对比度。

inputImg =再着色(hcube,“方法”“rgb”“ContrastStretching”,真正的);outputImg =再着色(newhcube,“方法”“rgb”“ContrastStretching”,真正的);

显示对比度拉伸RGB图像的输入和大气校正输出数据。

图(“位置”,[0 700 400])副图则(“位置”,[0.1 0 0.3 0.9]) imagesc(inputImg) title(“输入经辐射校正的图像”)轴次要情节(“位置”,[0.5 0 0.3 0.9]) imagesc(output timg)轴标题(“输出大气校正图像”

图中包含2个轴对象。轴对象1标题输入辐射校准图像包含类型为图像的对象。标题为输出大气校正图像的轴对象2包含一个类型为图像的对象。

读取高光谱数据立方体到工作空间。

输入=超立方体(“EO1H0440342002212110PY_cropped.dat”);

确定坏光谱频带数使用BadBands参数。

bandNumber =找到(~ input.Metadata.BadBands);

从数据立方体中去除坏的光谱波段。

输入= removeBands(输入,“BandNumber”, bandNumber);

将数字转换为辐射值使用dn2radiance函数。

hcube = dn2radiance(输入);

将辐亮度值转换为反射率值radiance2Reflectance函数。

hcube = radiance2Reflectance (hcube);

计算大气校正数据使用sharc函数。指定暗像素位置用于计算邻接效果和初始大气参数。暗像素的选择影响大气校正的结果。

newhcube = sharc (hcube,“DarkPixelLocation”, 217年[7]);

估计输入和大气校正输出数据的RGB图像。通过应用对比度拉伸来增加图像的对比度。

inputImg =再着色(hcube,“方法”“rgb”“ContrastStretching”,真正的);outputImg =再着色(newhcube,“方法”“rgb”“ContrastStretching”,真正的);

显示对比度拉伸RGB图像的输入和大气校正输出数据。

图(“位置”,[0 700 400])副图则(“位置”,[0.1 0 0.3 0.9]) imagesc(inputImg) title(“输入经辐射校正的图像”)轴次要情节(“位置”,[0.5 0 0.3 0.9]) imagesc(output timg)轴标题(“输出大气校正图像”

图中包含2个轴对象。轴对象1标题输入辐射校准图像包含类型为图像的对象。标题为输出大气校正图像的轴对象2包含一个类型为图像的对象。

输入参数

全部折叠

输入高光谱数据,指定为超立方体对象。的DataCube财产的超立方体对象包含高光谱数据立方体。数据立方体的像素值必须表示TOA辐亮度或TOA反射率值。

如果像素值是数字,则使用dn2radiancedn2reflectance函数分别计算TOA辐亮度和反射率值。你也可以用theradiance2Reflectance函数直接从辐射值计算TOA反射率值。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:(“AtmosphericModel”、“热带”)

大气模型用于计算大气总厚度的光学厚度,指定为逗号分隔对组成“AtmosphericModel”其中一个价值观是:

  • “1962年美国标准”-在温度和压力范围内为地球大气定义的标准大气参数。这是一种通用模式,可用于不同纬度和季节的高光谱数据的大气校正。

  • “热带”-热带区域大气参数。热带地区的纬度范围是[-23°45',23°45']。如果高光谱数据是从热带地区收集的,则使用这个模型。

  • “中间纬度夏天”-中纬度地区夏季大气参数。中纬度地区的纬度范围为[23°45',66°55']和[-66°55',-23°45']。如果是夏季中纬度地区的高光谱数据,则使用该模型。您可以根据存储为的获取日期确定季节AcquistionTime在元数据。

  • “中间纬度冬天”-中纬度地区冬季大气参数。中纬度地区的纬度范围为[23°45',66°55']和[-66°55',23°45']。如果高光谱数据是在冬季中纬度地区收集的,则使用该模型。您可以根据存储为的获取日期确定季节AcquistionTime在元数据。

  • “靠近北极的夏天”-夏季亚北极区域的大气参数。亚北极地区的纬度范围是[66°55',90°]和[-90°,-66°55']度。如果高光谱数据是在夏季从亚北极地区收集的,则使用这个模型。您可以根据存储为的获取日期确定季节AcquistionTime在元数据。

  • “靠近北极的冬天”-冬季亚北极区域的大气参数。亚北极地区的纬度范围是[66°55',90°]和[-90°,-66°55']度。如果高光谱数据是在冬季从亚北极地区收集的,则使用这个模型。您可以根据存储为的获取日期确定季节AcquistionTime在元数据。

暗像素的位置,指定为逗号分隔对,由“DarkPixelLocation”一个1 × 2的矢量xy].xy为要从蓝绿色波段中选择的暗像素的空间坐标。暗像素的TOA反射率值最低,而暗像素的TOA反射率值最低sharc函数使用它来计算表面的光谱照度。

默认情况下,sharc函数选择蓝绿色带值最小的像素作为暗像素。蓝绿色波段的波长范围(单位为微米)通常为[0.45,0.57]。蓝绿色波段的TOA反射率值受霾影响最大。因此,一般选择蓝绿色波段的暗像元作为估算大气对高光谱数据影响的候选像元。

计算邻接效应的窗口大小,指定为逗号分隔对组成“AdjacencyWindow”一个正整数标量。该值表示以暗像素为中心的窗口的大小。的sharc函数使用该窗口内的所有像素来估计邻接效果。

窗口大小必须小于输入的高光谱数据立方体的空间维数。

输出参数

全部折叠

大气校正数据,返回为超立方体对象。的DataCube财产的超立方体对象包含高光谱数据立方体。输出数据立方体的像素值是取决于输入的表面辐亮度或表面反射率值。

  • 如果输入数据立方体的像元值为TOA辐照度,则输出大气校正数据的像元值为地表辐照度值。

  • 如果输入数据立方体的像素值为TOA反射率,则输出处大气校正数据的像素值包含地表反射率值。

参考文献

[1] katbkovsky, Leonid, Anton Martinov, Volha Siliuk, Dimitry Ivanov, Alexander Kokhanovsky。高光谱数据的快速大气校正方法遥感10,不。11(2018年10月28日):1698。https://doi.org/10.3390/rs10111698。

介绍了R2020b