原标题:遥感图像亮度地形纠正Talk is cheap 地表光照模型
由于地形的影响, 及其与太阳的相对位置等不同,成像时各个像元的光照条件不尽相同, 同一时刻不同地形条件下的地表所接收到的光辐射强度也不尽相同。常常要求由根据遥感观测成像时的光照条件, 模拟出光照亮度图,把明暗不同的部分纠正过来。下面是一幅受到地形影响的 Landsat 影像,山峰的南侧受到遮挡,亮度变暗了。
地表光照模型反映了地面接收太阳辐射量的多少, 可以使用 Lambert 余弦定理来描述。假定太阳天顶角为 Z,入射角为Z (入射光与地面法线的夹角), 则光照系数 IC,又称相对太阳入射角为:
式中, Z 为天顶角; S 为坡度角;φz 为太阳方位角; φs 为坡向角。其中, 地形坡度和坡向可以由地面高程数据(DEM)计算, 太阳天顶角及方位角可从遥感图像的元数据中获取。
用余弦模型就可以反映出纠正前和纠正后亮度的关系:
其中 LH 是分波段的纠正后的水平面亮,LI 是纠正前地形条件下的亮度。余弦模型假设了 Lambertian 面,即散射光是由四面八方均匀射入。
如下图所示:
还有一种 C 模型,我在 2013 年的一篇论文中 [1] 看到,如下式:
GEE 计算代码
C 模型不要求Lambertian 面假设,实现起来也很简单。高程数据可以从 GEE 的资料中读取并作坡度变化:
编码部分就是直接调用 GEE 的 API函数。但因为数据不在本地,需要把波段计算的部分都包起来,便于 GEE 使用虚拟类在服务器端操作数据。varterrain=ee.call('Terrain',ee.Image('srtm90_v4'));varsolar_zenith=ee.Number(90).subtract(image.get('SUN_ELEVATION'));varsolar_azimuth=ee.Number(image.get('SUN_AZIMUTH'));vardegree2radian=0.01745varsolar_zenith_radians=solar_zenith.multiply(degree2radian)varslope_radians=terrain.select(['slope']).multiply(degree2radian)varaspect=terrain.select(['aspect']);Map.addLayer(slope_radians)//slope part of the illumination conditionvarcosZ=solar_zenith_radians.cos();varcosS=slope_radians.cos();varslope_illumination=slope_radians.multiply(cosZ)//aspect part of the illumination conditionvarsinZ=solar_zenith_radians.sin();varsinS=slope_radians.sin();varazimuth_diff_radians=aspect.subtract(solar_azimuth.multiply(degree2radian))//.expression("((b('aspect')-" + solar_azimuth + ")*0.01745")varcosPhi=azimuth_diff_radians.cos();varaspect_illumination=cosPhi.multiply(sinS).multiply(sinZ)//illumination conditionvaric=slope_illumination.add(aspect_illumination)//apply the cosine correctionvarcos_output=image.expression("((image*cosZ)/ic) + offsets",{'image':image.select('B4','B3','B2'),'cosZ':cosZ,'ic':ic,'offsets':[770,0,-1230]});
纠正后的结果,南坡的亮度增强了。
参考资料 Tan, B., Masek, J.G., Wolfe, R., Gao, F., Huang, C., Vermote, E.F., Sexton, J.O. and Ederer, G., 2013. Improved forest change detection with terrain illumination corrected Landsat images. Remote Sensing of Environment, 136, pp.469-483.
留言与评论(共有 0 条评论) |