数字量化值Digital Number, 辐射亮度Radiance, 反射率Reflectance,发射率Emissive

我们经常听到有人困惑于图像的像素值储存的是什么信息,以及如何获取所需的值。这里我们总结以下几个概念。

数字量化值(Digital Number :DN)

像素值的通用术语是数字量化值或DN值,它通常被用来描述还没有校准到具有意义单位的像素值。

如果你只是想看一个图像,和不打算解释像素值的物理意义,那么就可以以DN值的方式来保存。

辐射率(Radiance)

通常叫辐射亮度值(radiance pixel values),是某一个面积辐射能量的总和。辐射亮度值有单位标识,如W/cm2.μm.sr(瓦特/平方厘米.微米.球面度),以及ENVI FLAASH工具中要求的辐射亮度值单位为:µW/(cm2*sr*nm)。

将未定标的DN图像转成辐射亮度值图像,通常只用一个线性转换公式及偏移和增益就可以完成,偏移和增益参数一般在元数据文件中可获取。ENVI中提供了图像定标工具,不仅可以将DN图像转成辐射亮度图像,还可以选择辐射亮度图像的单位。

辐射亮度值包括物体反射的辐射能量,还包括临近地物的贡献值,也包含云层的影响。同时,辐射亮度值也会受到辐射源的影响,如光学遥感中的太阳。当你查看一个辐射亮度值的像元波谱曲线时候,这个曲线基本就是太阳波谱的整体形状,在绿色波段(500nm左右)具有反射峰。

图1:干草(黑色)、绿草(红色)、水体(绿色)、路面(蓝色)的辐射亮度波谱(左图)和反射率波谱(右图)。注意到所有的辐射亮度波谱在500nm的值较高,因为太阳在500nm具有光谱峰值, 在反射率波谱中看到有些波段被大气强吸收,在图上没有值。

通常情况下,在对多光谱和高光谱图像数据的定量分析时,辐射亮度图像需要转成反射率图像。

反射率(Reflectance)

反射率是物体表面所能反射的辐射量和它所接受的辐射量的比值,一般在[0,1]范围,有的时候为了储存方便而扩大一定的倍数,如放大一万倍[0,10000]。一些材料可以通过他们的反射光谱来识别,因此,为了更好的识别图像特征,我们通常将图像定标为反射率图像。

反射率图像包括两种:大气表观反射率和地表反射率

1)   大气表观反射率(Top of Atmosphere Reflectance)

大气表观反射率(简称TOA reflectance)是飞行在大气层之外的航天传感器量测的反射率。这种反射率包括云层、气溶胶和气体的贡献。

大气表观反射率通过辐射亮度定标参数,太阳辐照度,太阳高度角和成像时间等几个参数计算得到。

2)   地表反射率(Surface Reflectance)

地表反射率是地球表面的反射率,它没有云层和大气组分的影响。通常情况,地表反射率是从辐射亮度图像中计算得到,有很多的计算模型,如辐射传输模型,其实就是去除云层、大气组分、临近地物等因素影响的过程。ENVI中的大气校正模块就是采用辐射传输模型的MODTRAN4+。因此,大气校正是获取地表反射率的一种途径。

发射率(Emissive)

通常叫比辐射率,是指物体的辐射能力与相同温度下黑体的辐射能力之比称为该物体的发射率,一般在[0,1]范围,用来描述热红外图像特征。

比辐射率也包括大气表观比辐射率和地表比辐射率,意义和反射率类似。

将未定标的DN图像转成发射率图像,通常采用线性变换模型计算。如ENVI中打开Modis的L1B级数据,自动将热红外波段定标为比辐射率数据,当然这个是大气表观比辐射率图像。

亮温(brightness temperature)

当一个物体的辐射亮度与某一黑体的辐射亮度相等时,该黑体的物理温度就被称之为该物体的“亮度温度”,所以亮度温度具有温度的量纲,但是不具有温度的物理含义,它是一个物体辐射亮度的代表名词。单位是开尔文或者摄氏度,是一个广义的温度定义,这个温度是由很多因素造成的,比如大气下行、上行辐射等。

可以通过普朗克方程,将热红外辐射亮度图像转成亮温图像。

与亮温相对应的就是地表温度,简单的理解就是消除大气上行、下行等因素影响的亮温,常用的方法包括大气校正法、单窗法、劈窗法等。

总结一下,通常我们直接从数据提供商获取未定标的DN图像,然后定标为辐射亮度图像,对辐射率亮度图像进行大气校正得到地表反射率图像。对于热红外图像,定标为发射率或者辐射亮度图像,之后通过反演模型转化为地表温度图像。一般我们是在反射率图像上获取地表定量信息。

数字量化值Digital Number, 辐射亮度Radiance, 反射率Reflectance,发射率Emissive

时间: 2024-11-09 05:16:49

数字量化值Digital Number, 辐射亮度Radiance, 反射率Reflectance,发射率Emissive的相关文章

全局照明算法基础(一)——从辐射亮度到渲染方程

全局照明(Global Illumination)问题上已经有很多著名的算法,如路径追踪(Path Tracing),辐照度(Radiosity)等.绝大部分书籍/教材都直接介绍了做法,在理论方面有所欠缺(比如算法的正确性).这段时间在看<Advanced Global Illumination>,大呼爽快,所以做了这些笔记. 一.方向和立体角 立体角(Solid Angle)是平面角的推广.如上图,考虑一块不规则的曲面,其在单位球体(球心在原点,半径)上的投影为曲面,则的面积为该曲面对应的立

使用CLOB抛出数字或值错误异常

今天在调试某个问题的时候,由于使用了很多循环,我需要都打印出来,试图使用clob整体处理之后再打印. 最后抛出此异常:数字或值错误. 网友解释如下: $ oerr ora 650206502, 00000, "PL/SQL: numeric or value error%s"// *Cause: An arithmetic, numeric, string, conversion, or constraint error// occurred. For example, this er

ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法

1.今天写的存储过程在执行过程中,报如下错误. exec PRO_T_008pro_update_add_delete(17,1,1,1,1,45.0,54.0,45.0,45.0,45.0,54.0,45.0,54.0,'生产厂家','CYB10-2',54.0,45.0,25.0,1.0,45.0,25.0,1.0,45.0,25.0,1.0,45.0,1,4545.0,0,0,0,'no'); begin PRO_T_008pro_update_add_delete(17,1,1,1,1,

【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)

在Vue中的项目,基于VUX-UI开发,一个常见的需求: 1.金额输入框 2.弹出数字键盘 3.仅支持输入两位小数,限制最大11位数,不允许0开头 第一,首先想到额就是在VUX-UI中制定type=number.--不可行 VUX中的文档和代码说明,type=number不支持maxLength,会报错,而且没有正则替换的处理或者钩子函数,只有输入后提示校验信息. 第二,基于VUX中XInput封装,有如下问题 1)两层v-model,正则替换的值不会触发input框渲染 解决:currentV

PHP 统计一维数组value相同的元素的个数num,并将其转化为下标为数字,值是value和num的二维数组

最近做一个项目,从数据库查询某个字段得到一个数组key是数字值是channel的一维数组$res,现需要将这个数组变成键是数字值是channel和num(num为相同channel的数量,默认为0). $res数组 array (size=2) 0 => string '0' (length=1) 1 => string '500000009' (length=9) 2 => string '500000009' (length=9) $rs数组 array (size=2) 0 =&g

WPF中将四个数字字符串值(比如:&quot;10,10,300,300&quot;)转为Rect

原文:WPF中将四个数字字符串值(比如:"10,10,300,300")转为Rect RectConverter rectConverter = new RectConverter(); string parseString = viewportEntry.Text; if (parseString != null && parseString != string.Empty) { imageBrush.Viewport = (Rect)rectConverter.Co

PHP 统计一维数组value同样的元素的个数num,并将其转化为下标为数字,值是value和num的二维数组

近期做一个项目.从数据库查询某个字段得到一个数组key是数字值是channel的一维数组$res,现须要将这个数组变成键是数字值是channel和num(num为同样channel的数量,默觉得0). $res数组 array (size=2) 0 => string '0' (length=1) 1 => string '500000009' (length=9) 2 => string '500000009' (length=9) $rs数组 array (size=2) 0 =&g

递归1.2用递归函数来实现获取斐波拉契数列中第n个数字的值

用递归函数来实现获取斐波拉契数列中第n个数字的值 ps(斐波那契数列:从3三个数开始,后一个数等于前面两个数的和: 0,1,1,2,3,5,8,13,21,34,55,89,144……) def add(n): if n > 2: return (add(n-1) + add(n-2)) if n == 2: return 1 if n == 1: return 0 b = int(input("请输入一个数字")) print(add(b)) 结果输出: 请输入一个数字10 3

javacscript 3 获取时间、数字取值、定时器

[jq与js的关系]:jq是对js常用的方法进行封装.简化和优化. [小技巧]ctrl+k+D :VS写代码格式乱了时,整理代码用的快捷键 ------------------------------------------------------------------------------------------------------ 1.获取时间: 方法 描述 getFullYear() 返回四位数的年份 getMonth() 返回月份(从0开始,1月=0,2月=1,...) getD