主要内容

removeBands

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

    描述

    例子

    newhcube= removeBands (hcube“波长”,wlrange从数据立方体中去除指定波长范围内的光谱。函数返回一个new超立方体对象的剩余波长,它们的元数据信息,以及来自原始数据立方体的相应光谱波段。

    例子

    newhcube= removeBands (hcube“BandNumber”,乐队从高光谱数据立方体中移除指定光谱带号的光谱带。

    请注意

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

    例子

    全部折叠

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

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

    检查属性超立方体对象。

    hcube
    hcube = hypercube with properties: DataCube: [610×340×103 double]

    找到高光谱数据立方体的光谱波长范围。

    range = [min(hcube.波长)max(hcube.波长)]
    范围=1×2430 838

    指定要从高光谱数据立方体中移除的波长范围。

    Wlrange = [410 450;620 850);

    去除位于指定波长范围内的光谱波段。函数返回一个new超立方体物体没有被移除的带。

    newhcube = removeBands (hcube,“波长”wlrange)
    DataCube: [610×340×42 double]波长:[42×1 double]元数据:[1×1结构]

    把原来的和新的波长值画出来。

    图绘制(hcube。波长,“o”)举行情节(newhcube。波长,”或“)包含(带数字的) ylabel (“波长”)传说(的原始值“新值”“位置”“东南”

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

    hcube =超立方体(“paviaU.dat”
    hcube = hypercube with properties: DataCube: [610×340×103 double]

    计算高光谱数据立方体的五个光谱不同的端元ppi函数。

    endmembers = fippi (hcube 5);

    根据端元谱确定输入数据立方体中信息最丰富的10个波段。

    [~, informativeband] = selectBands (hcube endmembers,“NumberOfBands”10);

    通过使用信息性频带的频带号,找到数据立方体的非信息性频带的频带号。

    乐队= setdiff(1:尺寸(hcube.DataCube 3) informativeband);

    从高光谱数据立方体中去除非信息波段。函数返回一个new超立方体对象中只有信息量最大的波段。

    newhcube = removeBands (hcube,“BandNumber”乐队)
    DataCube: [610×340×10 double]波长:[10×1 double]元数据:[1×1结构]

    把原来的和新的波长值画出来。

    图绘制(hcube。波长,“o”)举行情节(newhcube。波长,”或“)包含(带数字的) ylabel (“波长”)传说(的原始值“新值”“位置”“东南”

    输入参数

    全部折叠

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

    要去除的波长范围,指定为K2矩阵。K是要从输入数据中除去的波长范围的数目。每一行都很整齐[W最小值W马克斯].W最小值W马克斯为要去除范围的最小和最大波长。至少一个指定的波长范围必须与输入内至少一个光谱波段的波长值重叠超立方体对象。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    要去除的光谱波段数,指定为正整数或正整数的向量。所有指定的波段数必须小于或等于输入高光谱数据中的光谱波段数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    输出参数

    全部折叠

    输出高光谱数据,返回为超立方体对象。

    介绍了R2020a