无法在python中对高光谱数据执行用于目标检测的光谱角度映射器(SAM)



我正在研究高光谱卫星图像,并试图在我的数据集上实现SAM算法。我正在尝试使用spectral_angle和msam函数,它们在spectral python库中可用。我正在使用以下命令。预处理后的数据集具有尺寸(20002000,20(

signature=image_cube[300500,:]mmn=spectral_angles(image_cube,signature.reform(1,20((

我得到一个包含所有值"Nan"的numpy数组。

您的数据中显然有NaN值。假设image_cube,试试这个:

image_cube[np.isnan(image_cube)] = 0
signature=image_cube[300,500,:]
mmn=spectral_angles(image_cube,signature.reshape(1,20))

根据image_cube的数据类型,您可能必须先将其转换为浮点类型。此外,您可以将零替换为您喜欢的任何浮点值(例如,平均频谱(。

最新更新