遥感IDL二次开发(辐射定标)

1.程序功能:
在IDL环境下进行辐射定标,并将结果返回ENVI。

2.运行步骤:
2.1 在ENVI中打开TM数据,并将数据传回到IDL工作空间:
首先打开ENVI+IDL8.5,导入TM数据,然后在右侧工具栏中输入IDL,点击Export to IDL variable,选择导入的TM_data,命名为TM01。然后切换到IDL工作空间,输入代码后编译运行。

2.2 读入TM的定标参数,将TM的DN值转换为辐亮度L:
在下方控制台中,调用函数L= AtmoCorr5(TM_data),在弹出的窗口中选择校正参数文档,点击回车,IDL就会自动对图像进行辐射定标。

2.3 将辐亮度数据传回ENVI,保存,并编辑头文件:
回到ENVI,在右侧工具栏中输入IDL,点击 Import from IDL variable,导入L(辐射定标后的图像),如是在新版ENVI 中操作,需要打开Data Manager,才可以显示输出后的图像。

a3b8d629c0bc89562f989049b7503c22.jpeg

3.程序源代码:

functionAtmoCorr5,TM_data
;L——定标后辐射亮度
;DN——原始灰度值
;Gain和Offset分别为该波段的增益和偏置系数
;读入数据
size_TM=size(TM_data)  ;TM数据的大小
  samples=size_TM[1]  ;TM数据列数
  lines=size_TM[2]  ;TM数据行数
  bands=size_TM[3]  ;TM数据波段数
print, samples,lines,bands
;读取TM各波段增益与偏置系数
fn_calib=dialog_pickfile(filter='*.txt')
openr,lun,fn_calib,/get_lun
data=fltarr(2,6)
readf,lun,data
free_lun,lun
  gain=data[0,*]  ;增益值
  offset=data[1,*]  ;偏移值
;利用定标系数将原始DN值转换为大气层顶太阳辐亮度L
  L=fltarr(samples,lines,bands)  ;定义辐亮度
fori=0,bands-1dobegin
    L[*,*,i]=TM_data[*,*,i]*gain[i]+offset[i]  ;计算辐亮度
endfor
return,L
end

来源引用:地理遥感生态网平台

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值