从二进制文件中读取带交错数据
X = multibandread(文件名、大小、精度、抵消、交错、byteorder)
X = multibandread(…,subset1、subset2 subset3)
X = multibandread(文件名、大小、精度、抵消、交错、byteorder)
从二进制文件中读取频带顺序(BSQ)、行交错(BIL)或像素交错(BIP)数据文件名
.的文件名
输入被指定为字符向量或字符串标量。这个函数定义乐队作为三维阵列的第三维,如图所示。
的参数multibandread
指定读操作的许多方面,例如要读哪些波段。看到参数为更多的信息。
X
如果只读取一个频带,则为二维数组;否则就是3d。X
作为数据类型的数组返回双
默认情况下。使用精度
参数将数据映射为不同的数据类型。
X = multibandread(…,subset1、subset2 subset3)
读取文件中数据的子集。最多可以使用三个子设置参数沿行、列和带维度指定数据子集。看到构造子集参数为更多的信息。
请注意
除了BSQ、BIL和BIP文件外,还可以使用TIFF文件格式存储多频带图像。在这种情况下,使用theimread
命令,导入数据。
这个表描述了被接受的参数multibandread
.
论点 |
描述 |
---|---|
|
包含要读取的文件名的字符向量或字符串标量。 |
|
三元素整数向量,由
如果数据被全部读取,这将是数据的维数。 |
|
指定要读取的数据格式的字符向量或字符串标量,例如 注意:您也可以使用 |
|
标量,指定文件中第一个数据元素的从零开始的位置。这个值表示从文件开始到数据开始的字节数。 |
|
存储数据的格式,指定为以下值之一:
有关这些交错方法的更多信息,请参见 |
|
指定存储数据的字节顺序(机器格式)的字符向量或字符串标量,例如
看到 |
最多可以指定三个子参数。每个子集参数是一个三元素单元格数组,{
,在那里昏暗的
,方法
,指数}
参数 |
描述 |
---|---|
|
子集的维数。指定为以下值中的任何一个:
|
|
构造子集的方法。指定为以下值之一:
如果你忽略子集单元格数组中的这个元素, |
|
如果 如果 |
设置数据集的初始参数。
行= 3;关口= 3;乐队= 5;文件名= tempname;
定义数据集。
Fid = fopen(filename, 'w', 'ieee-le'); / /指定文件名称写入文件(fid, 1:行*关口*乐队,“双”);文件关闭(fid);
使用频带顺序格式读取每一个其他频带的数据。
Im1 = multibandread(filename, [rows cols bands],…)'double', 0, 'bsq', 'ieee-le',…{'Band', 'Range', [1 2 Band]})
使用像素带交错格式读取数据的前两行和列。
Im2 = multibandread(filename, [rows cols bands],…)'double', 0, 'bip', ' ee-le',…{'Row', 'Range',[1 2]},…{'Column', 'Range', [1 2]})
使用逐行带交错格式读取数据。
Im3 = multibandread(filename, [rows cols bands],…)'double', 0, 'bil', ' ee-le')
删除在本例中创建的文件。
删除(文件名);
读int16
来自FITS文件的BIL数据tst0012.fits
,从字节74880开始。
im4 = multibandread (tst0012。适合,[31 73 5],…'int16', 74880, 'bil', 'ieee-be',…{'Band', 'Range', [1 3]});im5 =双(im4) / max (max (max (im4)));显示亮度图像(im5);