首页 > 解决方案 > 如何从光谱python库中的env文件中读取波长信息?

问题描述

我正在研究 envi 格式的高光谱图像。我已经使用光谱 python 库成功阅读了它。现在,我想得到每个波段(波长中心)。请建议此任务的方法。

标签: satellite-imagespectralenvispectral-python

解决方案


如果使用光谱模块打开 ENVI 图像,则波长(波段中心)在bands.centers打开图像的属性中。

>>> import spectral as spy
>>> img = spy.open_image('EO1H0150332002114111KZ.L1R.hdr')
>>> print(img.bands.centers[:5])
[355.59, 365.76, 375.94, 386.11, 396.29]

您还可以从metadata打开的图像的属性中获取原始标题元数据。

>>> print(img.metadata.keys())
dict_keys(['description', 'samples', 'lines', 'bands', 'header offset', 'file type', 'data type', 'interleave', 'sensor type', 'byte order', 'band names', 'read procedures', 'wavelength', 'fwhm', 'subset procedure'])
>>> print(img.metadata['wavelength'][:5])
['355.59', '365.76', '375.94', '386.11', '396.29']

推荐阅读