主要内容

DN2Radiance.

将数字数字转换为光线

描述

例子

newhcube.= dn2radiance(hcube.将高光谱数据多维数据集的像素值从数字数字转换为辐射值。该函数返回一个新的hypercube.数据立方体的对象和像素值是大气(TOA)辐射的顶部。

newhcube.= dn2radiance(hcube.,'blocksize',blocksize指定通过使用名称值对参数来块处理超细数据多维数据集的块大小'blocksize'

该功能将输入图像划分为不同的块,处理每个块,然后连接每个块的处理后的输出以形成输出矩阵。高光谱图像是多维数据集,其可以太大而无法完全符合系统存储器。这可能导致系统在运行时耗尽内存DN2Radiance.功能。如果遇到此类问题,请使用此语法执行块处理。

例如,DN2Radiance(HCube,'BlockSize',[50 50])将输入图像分成大小50-50的非重叠块,然后计算每个块中的像素的辐射值。

笔记

通过指定来执行块处理'blocksize'名称 - 值对参数,您必须具有MATLAB R2021A或更高版本。

笔记

此功能需要图像处理工具箱™高光谱成像库。你可以安装图像处理工具箱高光谱成像库从附加资源管理器。有关安装加载项的详细信息,请参阅获取和管理附加组件

例子

全部收缩

将高光谱数据读入工作区。

hcube = hypercube('eo1h0440342002212110py_cropped.hdr');

使用该确定不良光谱带号坏乐队元数据中的参数。

bandnumber = find(〜hcube.metadata.badbands);

从数据多维数据集中删除坏频谱频带。

hcube = removebands(hcube,'班车',带数);

使用该计算辐射值DN2Radiance.功能。

newhcube = dn2radiance(hcube);

读取并显示输入和输出辐射数据中的光谱带图像。

inputband = hcube.datacube;RadiandBand = newhcube.datacube;频段= 80;图形子图(1,2,1)ImageC(输入带(:,:,频带))标题('输入乐队')轴离开子图(1,2,2)ImageC(RADIACEBAND(:,:,频带))标题('Radiance Band')轴离开COLOROMAP.灰色的

图包含2个轴。带标题输入频段的轴1包含类型图像的对象。带标题辐射带的轴2包含类型图像的对象。

输入参数

全部收缩

输入高光谱数据,指定为ahypercube.目的。这datacube.财产的财产hypercube.对象存储高光谱数据立方体。将数字数字中的像素值转换为辐射值,元数据财产的财产hypercube.对象必须包含获得抵消字段。

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

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

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

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

输出参数

全部收缩

输出高光谱数据,作为a返回hypercube.目的。输出数据立方体的像素值是指定来自所成像的表面的辐射量的辐射。通过使用等式从数字数字计算辐射值:

辐射L. λ. = D. N × G 一种 一世 N + B. 一世 一种 S.

获得偏见分别是每个光谱频带的增益和偏移值。这元数据财产hypercube.对象包含增益和偏移值。

在R2020B中介绍