然后,调用spectral_angles()函数,返回一个 MxNxC 数组, M 和 N 是影像的行数和列数, 每个像素有 C 个光谱角。为了选择最小光谱角对应的类别,调用numpyargmin()函数来计算每个像素最小光谱角对应的索引。 因为类别 ID从1(不是0)开始,在下面显示命令中使用clmap + 1作为类别。 In [78]: angles = spectra...
import spectral # 读取ENVI格式的高光谱图像 # image的后缀可以是.raw、.spe、.lan等 # 代码里img对象,类似于rasterio库的dataset对象,可以用它来读取高光谱数据 img = spectral.envi.read_envi(file='my_data.hdr', image='my_data') 1. 2. 3. 4. 5. 加载数据 # 通过load函数获取数据 data = img....
SPECTRAL_DATA环境变量。Spy 会优先在当前目录下搜索数据文件,当文件不存在当前工作路径时,Spy会从SPECTRAL_DATA指定的路径下检索文件。 SPECTRAL_DATA是一个由冒号分割的目录组成的列表。 读取高光谱影像数据文件 Spy打开并访问高光谱影像文件的标准方式是通过image()函数,它返回一个SpyFile对象。 SpyFile 接口 SpyFile...
语言使用的是python,网络实现所用的是pytorch。 一、准备数据 1.首先取得数据,并引入基本函数库。 ! wget http://www.ehu.eus/ccwintco/uploads/6/67/Indian_pines_corrected.mat ! wget http://www.ehu.eus/ccwintco/uploads/c/c4/Indian_pines_gt.mat ! pip install spectral 1. 2. 3. 如果想在自...
一文详解高光谱数据python处理包spectral(SPy) 一、基本操作 读取高光谱数据文件 import spectral # 读取ENVI格式的高光谱图像 # image的后缀可以是.raw、.spe、.lan等 # 代码里img对象,类似于rasterio库的dataset对象,可以用它来读取高光谱数据 img = spectral.envi.read_envi(file='my_data.hdr', image='my_...
我们可以通过调用EcostressDatabase的create_envi_spectral_library()方法为这些波谱创建一个新的、重采样的光谱库。它需要传入一个 spectrum IDs 列表和一套波段参数 (以微米为单位)。因为 aviris 波段参数单位为纳米,在调用该方法前我们要先将它们的单位转换为微米。
文件打开/输出 Class/Function描述EcostressDatabase创建/查询从ECOSTRESS光谱库生成的光谱数据库aviris.open打开AVIRIS文件aviris.read_aviris_bands读取AVIRIS波段校准文件envi.open打开具有ENVI标头的数据文件(…
由于SPy主要设计用于在光谱范围内进行处理,因此无论源图像数据文件的交错如何,内存中的spectral.ImageArray对象都将始终按像素交织数据。换句话说,numpy.ndarray形状将是(numRows,numCols,numBands)。 ImageArray对象始终包含32位浮点数 注意: 在调用load方法之前,重要的是要考虑生成的ImageArray对象将要消耗的内存量。由...