IDL批量计算ENVI高光谱数据平均反射率并导出CSV
时间: 2023-05-27 07:01:49 浏览: 164
以下是一个IDL程序,用于批量计算ENVI高光谱数据的平均反射率,并导出为CSV文件。代码中需要输入文件夹路径和输出CSV文件路径。
```
; 设置工作目录,修改路径
cd, "D:\data\"
; 定义文件夹路径和输出CSV文件路径
path = "D:\data\" ; 文件夹路径
output = "D:\output.csv" ; 输出CSV文件路径
; 获取所有.hdr 文件名和数量
filelist = file_search(path + "*.hdr", count=nfiles)
; 定义一个数组来存储所有波段的反射率值
data = fltarr(nfiles, 1)
; 循环读取每个文件,并计算平均反射率
for i = 0, nfiles-1 do begin
filename = filelist[i]
printf, "Processing file: %s", filename
; 从HDR文件中读取反射率信息
read_envi_hdr, filename, info
refl = envi_read_data(filename, info=info)
; 计算平均反射率
mean_refl = total(refl) / n_elements(refl)
data[i] = mean_refl
endfor
; 将结果保存到CSV文件中
csvdata = transpose(data)
file_write, output, csvdata, /append ; 追加写入CSV文件
printf, "Results saved to CSV file: %s", output
```
阅读全文