主要内容

subtractDarkPixel

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

    描述

    例子

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

    correctedData= subtractDarkPixel (inputDatadarkPixels减去指定的值,darkPixels,从每个高光谱波段的所有像素。您可以指定一个值来在数据多维数据集的所有频带上进行相减,也可以为每个频带指定一个单独的值。减法后,函数将所有负像素值设置为0

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

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

    例如,subtractDarkPixel (inputData、darkPixels BlockSize, [50 50])将输入图像分成大小为50 * 50的不重叠的块,然后对每个块执行暗像素减法。

    请注意

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

    请注意

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

    例子

    全部折叠

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

    超立方体(“paviaU”);

    将每个波段的最小像素值从该波段的所有像素中减去。

    hcubeCorrected = subtractDarkPixel(hcube);

    输入参数

    全部折叠

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

    • 超立方体对象。的DataCube的属性超立方体对象存储高光谱数据立方体。

    • ——- - - - - -N——- - - - - -C数字数组-而且N是高光谱数据每个波段的行数和列数。C是高光谱数据集中光谱波段的数量。

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

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

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

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

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

    输出参数

    全部折叠

    修正后的高光谱数据,返回为超立方体对象或——- - - - - -N——- - - - - -C数值数组,其数据多维数据集维度等于输入数据的多维数据集维度inputData

    参考文献

    苏里,A. H.和M. A.沙里菲。高光谱图像大气校正的基于场景的经验方法评估在第33届亚洲遥感会议2012年11月,泰国芭提雅。

    版本历史

    R2020b中介绍