主要内容

removeBands

从数据立方体中删除光谱带

    描述

    例子

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

    例子

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

    请注意

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

    例子

    全部折叠

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

    超立方(“paviaU.dat”);

    的属性超立方体对象。

    hcube
    数据立方:[610×340×103 double]波长:[103×1 double]元数据:[1×1 struct]

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

    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 struct]

    画出原始波长值和新的波长值。

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

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

    超立方(“paviaU.dat”
    数据立方:[610×340×103 double]波长:[103×1 double]元数据:[1×1 struct]

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

    端元= fippi(hcube,5);

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

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

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

    band = setdiff(1:size(hcube.DataCube,3),informativeband);

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

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

    画出原始波长值和新的波长值。

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

    输入参数

    全部折叠

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

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

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

    要删除的光谱频带数,指定为正整数或正整数的向量。所有指定的带数必须小于或等于输入的高光谱数据的光谱带数。

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

    输出参数

    全部折叠

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

    版本历史

    在R2020a中引入