主要内容

subtractDarkPixel

从高光谱数据立方体中减去暗像素值

    描述

    例子

    纠正数据= subtractDarkPixel (inputData从高光谱数据中该波段的所有像素中减去每个波段的最小像素值,inputData.强度值最小的像元为高光谱数据中的暗像元。

    纠正数据= subtractDarkPixel (inputDatadarkPixels减去指定的值,darkPixels,每个高光谱波段的所有像素。您可以指定要跨数据集的所有波段减去的单个值,或者为每个波段指定单独的值。在减法之后,该函数将所有负像素值设置为0

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

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

    例如,subtractDarkPixel (inputData、darkPixels BlockSize, [50 50])将输入图像分割为大小为50 × 50的非重叠块,然后在每个块上进行暗像素减法。

    请注意

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

    请注意

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

    例子

    全部折叠

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

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

    从该频带中的所有像素中减去每个频带的最小像素值。

    hcubecorrected = subtractdarkpixel(hcube);

    输入参数

    全部折叠

    输入高光谱数据,指定为以下之一。

    • 超立方体对象。的datacube.财产的财产超立方体对象存储高光谱数据立方体。

    • -经过-N-经过-C数字数组 -N是高光谱数据的每个频段中的行和列数。C为高光谱数据集中的光谱波段数。

    要从每个波段的像素中减去的值,该波段指定为数字标量或C-element数字矢量。C为高光谱数据集中的波段数。如果指定一个标量,该函数将从数据集中所有波段的像素中减去该值。

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

    • 如果blocksize值太小,该功能的内存使用率以增加的执行时间的成本降低。

    • 如果blocksize值大或等于输入图像大小,执行时间以增加的内存使用率降低。

    例子:'blocksize',[20 20]指定每个数据块的大小为20乘20。

    输出参数

    全部折叠

    校正的高光谱数据,返回为超立方体对象或者-经过-N-经过-C具有与输入数据相同的数据立方体维数的数字数组inputData

    参考

    苏里、A. H.和M. A. Sharifi。基于场景的高光谱图像大气校正经验方法的评估发表于第三十三届亚洲遥感会议,芭达亚,泰国,2012年11月。

    介绍了R2020b