多班车
从二进制文件读取带交错数据
句法
x = multibardread(文件名,大小,精度,偏移,交错,byteorder)
X = MultiBardread(...,子集1,子集,子集3)
描述
x = multibardread(文件名,大小,精度,偏移,交错,byteorder)
从二进制文件中读取频带顺序(BSQ),带交错的逐行线(BIL)或横耦合逐像素(BIP)数据文件名
。这文件名
输入被指定为字符向量或字符串标量。此功能定义乐队作为三维阵列中的第三维度,如图所示。
您可以使用参数多班车
要指定读取操作的许多方面,例如要读取的频段。看参数了解更多信息。
X
如果只读取一个频带,则是一个2-D阵列;否则是3-D。X
作为数据类型阵列返回双倍的
默认。使用精确
参数将数据映射到不同的数据类型。
X = MultiBardread(...,子集1,子集,子集3)
读取文件中的数据的子集。您可以使用多达三个子集参数来指定沿行,列和频带尺寸的数据子集。看子集参数了解更多信息。
笔记
除了BSQ,BIL和BIP文件之外,可以使用TIFF文件格式存储多频带图像。在这种情况下,使用Imread.
用于导入数据的函数。
参数
此表介绍了所接受的参数多班车
。
争论 |
描述 |
---|---|
|
字符矢量或字符串标量,包含要读取的文件的名称。 |
|
包含的整数的三元素矢量组成
如果它完整读取,这将是数据的尺寸。 |
|
字符矢量或字符串标量指定要读取的数据的格式,例如 注意:您也可以使用 |
|
标量指定文件中的第一个数据元素的零基于位置。此值表示文件开头的字节数到数据开始的位置。 |
|
存储数据的格式,指定为其中一个值:
有关这些交织方法的更多信息,请参阅 |
|
字符向量或字符串标量指定存储数据的字节排序(机器格式),例如
看 |
子集参数
您可以指定最多三个子集参数。每个子集参数是三元素单元阵列,{
, 在哪里暗淡
那方法
,指数}
范围 |
描述 |
---|---|
|
沿着子集的尺寸。指定为以下任何值:
|
|
子集方法。指定为这些值中的任何一个:
如果留下子集小区数组的此元素, |
|
如果 如果 |
例子
例1
设置数据集的初始参数。
行= 3;cols = 3;乐队= 5;filename = tempname;
定义数据集。
fid = fopen(文件名,'w','ieee-le');FWRITE(FID,1:行* COL *频段,'双');fclose(FID);
使用频带顺序格式读取数据的其他每个频段。
im1 = multibandread(文件名,[Rows cols频带],...'double',0,'bsq','ieee-le',... {'band','范围',[1 2频段]})
使用带交错逐个像素格式读取第一两行和数据列。
im2 = multibandread(filename,[Rows cols band],...'double',0,'bip','ieee-le',... {'行','范围',[1 2]}。.. {'列','范围',[1 2]})
使用带交错逐行格式读取数据。
im3 = multibandread(filename,[Rows Cols Band],...'double',0,'bil','Ieee-Le')
删除此示例中创建的文件。
删除(文件名);
例2.
读INT16
来自fits文件的数据tst0012.fits.
,从字节74880开始。
im4 = multibandread('tst0012.fits',[31 73 5],...'int16',74880,'bil','Ieee-be',... {'乐队','范围',[1 3]});IM5 = DOUBLE(IM4)/ MAX(MAX(MAX(IM4)));ImagesC(IM5);