我有一个农业领域的高光谱光栅图像,有270个光谱带。我创建了一个多边形shapefile,它描述了属于每个处理的像素。有250个单独的多边形,每个多边形对应于每个处理的复制。我想找到每个像素带内每个像素的平均值。在
Image of raw hyperspectral data
Image of polygons delineating treatments
我尝试在ArcGIS和QGIS中使用分区统计工具,但这两种工具一次只能在一个波段上运行统计数据。这样做270次似乎有点过分。在
我还尝试使用ArcGIS中的分割光栅工具将光栅划分为250个对应于每个多边形的光栅。分割光栅后,我尝试使用band collection statistics工具,但发现我无法同时输入所有光栅,尽管该工具似乎可以这样做。每次尝试都会导致以下错误:错误000964指定的范围无效。在
我在ArcGIS Pro、QGIS(v.3.4.11)和Python(v.3.7)中主要使用GDAL进行分析。因此,我愿意使用这些选项中的任何一个来进行进一步的分析。我认为在Python中这可能是可行的,但我的编码技能并不出色,我不知道从哪里开始。在
您可以使用Spectral Python软件包读取您的高光谱图像。 比如说
从您创建的多边形形状文件中创建一个numpy蒙版图像,可能是根据类别(颜色编码)制作的。从该图像中,您可以提取像素坐标。在
^{pr2}$假设你为一个多边形指定了类1,那么对于类1多边形中的所有像素点
在高光谱图像上使用相同的方法
band_avg将返回特定类/多边形颜色中所有像素的每个波段的平均像素值。对于其他类/多边形,可以重复上述操作,方法是为不同的类ID获取x、y
相关问题 更多 >
编程相关推荐