sharc
使用卫星超立方大气快速校正(SHARC)进行大气校正
描述
例子
对高光谱数据进行大气校正
将高光谱数据立方体读入工作空间。
输入=超立方(“EO1H0440342002212110PY_cropped.dat”);
确定坏的光谱带号使用BadBands
参数。
bandNumber = find(~input.Metadata.BadBands);
从数据立方体中删除坏的光谱带。
input = removeBands(input,“BandNumber”, bandNumber);
方法将数字转换为亮度值dn2radiance
函数。
Hcube = dn2radiance(输入);
方法将亮度值转换为反射率值radiance2Reflectance
函数。
hcube = radiance2反射率(hcube);
计算大气校正数据使用sharc
函数。
Newhcube = sharc(hcube);
估计输入的RGB图像和大气校正输出数据。通过应用对比度拉伸来增加图像对比度。
inputImg = colorize(hcube,“方法”,“rgb”,“ContrastStretching”,真正的);outputImg = colorize(newhcube,“方法”,“rgb”,“ContrastStretching”,真正的);
显示输入的对比拉伸RGB图像和大气校正输出数据。
图(“位置”,[0 0 700 400]) subplot(“位置”,[0.1 0 0.3 0.9]) imagesc(inputImg) title(“输入辐射校正图像”)轴从次要情节(“位置”,[0.5 0 0.3 0.9]) imagesc(outputImg)轴从标题(“输出经大气校正的图像”)
为大气校正指定暗像素位置
将高光谱数据立方体读入工作空间。
输入=超立方(“EO1H0440342002212110PY_cropped.dat”);
确定坏的光谱带号使用BadBands
参数。
bandNumber = find(~input.Metadata.BadBands);
从数据立方体中删除坏的光谱带。
input = removeBands(input,“BandNumber”, bandNumber);
方法将数字转换为亮度值dn2radiance
函数。
Hcube = dn2radiance(输入);
方法将亮度值转换为反射率值radiance2Reflectance
函数。
hcube = radiance2反射率(hcube);
计算大气校正数据使用sharc
函数。指定用于计算邻接效应和初始大气参数的暗像素位置。深色像素的选择影响大气校正结果。
Newhcube = sharc(hcube,“DarkPixelLocation”, 217年[7]);
估计输入的RGB图像和大气校正输出数据。通过应用对比度拉伸来增加图像对比度。
inputImg = colorize(hcube,“方法”,“rgb”,“ContrastStretching”,真正的);outputImg = colorize(newhcube,“方法”,“rgb”,“ContrastStretching”,真正的);
显示输入的对比拉伸RGB图像和大气校正输出数据。
图(“位置”,[0 0 700 400]) subplot(“位置”,[0.1 0 0.3 0.9]) imagesc(inputImg) title(“输入辐射校正图像”)轴从次要情节(“位置”,[0.5 0 0.3 0.9]) imagesc(outputImg)轴从标题(“输出经大气校正的图像”)
输入参数
hcube
- - - - - -输入高光谱数据
超立方体
对象
输入高光谱数据,指定为a超立方体
对象。的DataCube
的属性超立方体
对象包含高光谱数据立方体。数据立方体的像素值必须表示TOA辐亮度或TOA反射率值。
如果像素值是数字,则使用dn2radiance
而且dn2reflectance
分别计算TOA辐亮度和反射率值的函数。你也可以使用radiance2Reflectance
函数,可直接由亮度值计算TOA反射率值。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:(“AtmosphericModel”、“热带”)
AtmosphericModel
- - - - - -计算光学厚度的大气模型
1962年美国标准
(默认)|“热带”
|“中间纬度夏天”
|“中间纬度冬天”
|“靠近北极的夏天”
|“靠近北极的冬天”
大气模型,用于计算全大气的光学厚度,指定为逗号分隔对,由“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向量[x
y
]
暗像素的位置,指定为逗号分隔的对“DarkPixelLocation”
一个1 × 2向量的形式是[xy]。x而且y是要从蓝绿色带中选择的暗像素的空间坐标。深色像素的TOA反射率值最低,而深色像素的TOA反射率值最低sharc
函数用它来计算表面的光谱照度。
默认情况下,sharc
函数选择蓝绿带值最小的像素作为暗像素。通常蓝绿色波段的波长范围(以微米为单位)是[0.45,0.57]。蓝绿色波段的TOA反射率受大气雾霾影响最大。因此,一般选择蓝绿色波段的深色像素作为估算大气对高光谱数据影响的候选像素。
AdjacencyWindow
- - - - - -计算邻接效应的窗口大小
5
(默认)|正整数标量
用于计算邻接效应的窗口大小,指定为逗号分隔的对,由“AdjacencyWindow”
和一个正整数标量。该值表示以暗像素为中心的窗口的大小。的sharc
函数使用位于此窗口内的所有像素来估计邻接效果。
窗口大小必须小于输入高光谱数据立方体的空间维数。
输出参数
参考文献
Katkovsky, Leonid, Anton Martinov, Volha siiliuk, Dimitry Ivanov和Alexander Kokhanovsky。高光谱数据的快速大气校正方法。遥感10,不。11(2018年10月28日):1698。https://doi.org/10.3390/rs10111698。
版本历史
在R2020b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。