如有研究需要数据,请与QQ416498894;或微信扫码添加客服咨询

ENVI中从图像中获取指定点的像素值

ENVI中从图像中获取指定点的像素值

下面在ENVI 5.x中的Classic界面中介绍实现过程,ENVI4.8及之前版本操作步骤类似。

注:以实测叶绿素浓度为例子

第一步:整理采样点实测数据

为了将水面调查点与实测叶绿素浓度在空间上一一对应起来。实地调查数据包括:水面调查点的经纬度、叶绿素含量。以三列或者四列形式保存为.txt文件,以下格式:

    序号   纬度       经度       chla实测含量(mg/L)

 1   31.516334   120.182215       0.0531

 2   31.457170   120.041978       0.0535

 3   31.459692   120.177602      0.0496

……

第二步:获取图像上的像素值

   有些文档中的称为获取采样星上数据。这里的图像是一个比值植被指数图像。

(1)在display中显示比值图像,选择overlay->Region Of Interest 打开ROI Tool。

(2)在ROI Tool中,选择ROI_Type->Input Points from ASCII,选择文本格式的实地调查数据反演点.txt。注意参数选择:

x:选择经度;y:选择纬度;

These point comprise:Individual Points;

投影坐标(Select Map Based Projection):Geographic Lat/Lon;

注:投影坐标与实测数据中坐标值的投影参数保持一致。

(3)设置好投影信息后,单击OK这样将实地调查的点位置信息加载到图像中


图:导入实测点

(1)在ROI TOOL中,选择File->Output ROIs to ASCII。选择比值植被指数图像。

(2)在Output ROIs to ASCII Parameters面板中,选择ROI点,单击Edit Output ASCII Form,在输出内容设置面板中(如下图),选择ID、经纬度(Geo Location)、和波段像元值(Band Values)。


图:导出点的反演值

这样就将水面调查点与BNIR/BRED对应的值导出来了,如下:

; ENVI Output of ROIs (5.1) [Sun Mar 30 16:49:16 2014]

; Number of ROIs: 1

; File Dimension: 2182 x 2336

;

; ROI name: Region #1

; ROI rgb value: {255, 0, 0}

; ROI npts: 38

; ID       Lat        Lon     B1

   1  31.457258 120.041982  0.8787

   2  31.459780 120.177606  0.8352

   3  31.428208 120.345769  0.6475

   4  31.371164 120.270438  0.6086

   5  31.330756 119.976618  0.8571

   6  31.330354 120.123804  0.7880

   7  31.333266 120.256719  0.6136

   8  31.321980 120.210091  0.5879

   9  31.254781 120.048005  0.5501

我们发现,导出来的经纬度与输入实测点的经纬度不完全一致,这是因为一般影像中像元的坐标是取中心点的经纬度,而我们实测的点位不一定恰好对应着影像像元的中心点,所以当输入的经纬度与影像上单个像元的经纬度不一致时,就会采用就近原则,与最临近的像素点匹配,输出该点的经纬度坐标。如环境小卫星的空间分辨率是30米,换算成经纬度在几秒的范围。

将相应的像素值导入Excel表中,与实测值一一对应。

 注:ENVI中利用ROI Tool导出的像元信息是按照从上到下,从左到右的“Z”字形顺序,因此我们导入的实测点最好事先进行排序,这样导入Excel表中就方便多了,不用一个个根据经纬度手动调整。


图:像素值与实测值一一对应并建立关系模型