在Python中将高光谱.HDR文件转换为栅格数组以创建镜像
我正在尝试逐个处理我的高光谱波段,想为每个波段切片创建栅格文件。但是,每次我使用光谱命令 .read_band() 时,总是出现错误:“EOFError: read() didn't return enough bytes”,意思是读取的数据不够。总的来说,我想制作一个我的 .HDR 文件的镜像,我觉得翻转栅格矩阵是最直接的方法。
谢谢!
我尝试了以下代码:
import spectral.io.envi as envi
import os
import numpy as np
import matplotlib.pyplot as plt
import rasterio
from rasterio.transform import Affine
os.environ['SPECTRAL_DATA']='C:/Users/Desktop/HyperspectralData'
import spectral as sp
hdr_file_path = 'C:/Users/Desktop/HyperspectralData'
hdr_data = envi.open(hdr_file_path, image="raw_rd_rf.hdr")
wvl = hdr_data.bands.centers
rows, cols, bands = hdr_data.nrows, hdr_data.ncols, hdr_data.nbands
meta = hdr_data.metadata
for z in range(bands):
band_img = hdr_data.read_band(z)
我原本期待得到一个栅格数组,数组中的每个元素代表我波段中的像素。
1 个回答
暂无回答