辐射定标
遥感影像的辐射定标就是将传感器接收的无效的DN(digital number)值转化为我们所需要的辐射亮度值或者大气表观反射率。要达到这个目的,我们需要知道传感器的增益和偏移值。高分影像的gain和offset都可以在官网查到。
定标系数http://218.247.138.119/CN/Downloads/dbcs/index.shtml
如图所示,即可得到不同年份不同传感器的定标值。
Dataset = gdal.Open(r'xxx.tif')
outDataset = Driver.Create(OutRCname,cols,rows,m,gdal.GDT_Int32)
outDataset.SetGeoTransform(newgeoTransform1)
outDataset.SetProjection(proj1)
m = Dataset.RasterCount
for i in range(1,m):
ReadBand = Dataset.GetRasterBand(i)
outband = outDataset.GetRasterBand(m)
outband.SetNoDataValue(-9999)
Image = ReadBand.ReadAsArray()
outImage =np.where(Image>0,Image*Gain + Bias,-9999)
outband.WriteArray(outImage)
如上图代码所示,只需要简易的代码处理,即可实现传感器的辐射定标工作。
大气校正
辐射在传播的过程中会受到许多现象的干扰,其中大气的散射、折射、反射影响尤为重要,为了得到更加真实的地表辐射或者辐射率,需要进行大气校正。假设一种大气状况,构建辐射的传输模型,最后定量的模拟大气的影响以还原地表的辐射。
平常使用最多的大气校正工具就是ENVI的flaash和quik大气校正模型,但是批量工具如果想调用就必须要IDL程序设计语言。因此只能另辟蹊径,使用另外一种开源的大气校正模型——6s大气校正模型。关于6s的大气校正模型介绍可查阅相关的论文。
6s模型的相关参数及校正原理:
(11条消息) 6S大气校正原理、实现方法_VickyChenVC的博客-CSDN博客_6s大气校正https://blog.csdn.net/VickyC