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

在定量反演中,我们经常需要将实地测量数据与图像上的像素值一一对应起来,用于解算模型。

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

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

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

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

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

   31.516334   120.182215       0.0531

   31.457170   120.041978       0.0535

   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

    31.457258 120.041982  0.8787

    31.459780 120.177606  0.8352

    31.428208 120.345769  0.6475

    31.371164 120.270438  0.6086

    31.330756 119.976618  0.8571

    31.330354 120.123804  0.7880

    31.333266 120.256719  0.6136

    31.321980 120.210091  0.5879

    31.254781 120.048005  0.5501

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

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

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


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

posted @   ENVI-IDL技术殿堂  阅读(5503)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示