重新改写了之前一篇的代码(https://blog.csdn.net/qq_41300185/article/details/87374427)
因为之前的算法只能处理输入为:待纠正影像A-单波段,参考影像B-单波段
那么,考虑其他可能的情况:
1. A-单波段,B-单波段:参考之前的代码(https://blog.csdn.net/qq_41300185/article/details/87374427)
2.A-多波段,B-多波段:其中,A与B的波段数相同,且默认波段一一对应:本篇的重点
3.A-单波段,B-多波段:存在歧义,不考虑
4.A-多波段, B-单波段:默认B的单波段扩展为多波段,目前不考虑
下面展示第2点的思路:
原理与第一篇相同,只是需要逐波段计算 Gains and Offsets,关键点为读取ROI并获取ROI结构体的数据。如下代码:
rroispath=‘参考的ROI数据的路径 \ 名称.xml'
rroifile=READ_CSV(rroispath,N_TABLE_HEADER=9)
numtags=N_TAGS(rroifile) ;返回结构体的字段个数
;利用点访问结构体的方式,逐个访问 字段值
FOR J=0,numtags-1 DO BEGIN
rroidata=rroifile.(J+6)
;对roi每个字段的操作
ENDFOR