我不明白envi_setup_head
。谁能帮我用 IDL 代码格式编写它?
我有在 IDL 中生成的地图,我需要在 ENVI 中处理它们。我不知道如何将图像保存在文件夹中并能够在 ENVI 中打开它们。有谁知道该怎么做?
我不明白envi_setup_head
。谁能帮我用 IDL 代码格式编写它?
我有在 IDL 中生成的地图,我需要在 ENVI 中处理它们。我不知道如何将图像保存在文件夹中并能够在 ENVI 中打开它们。有谁知道该怎么做?
要为图像文件创建 ENVI 标头,您可以尝试以下 IDL 过程。它创建一个小图像文件并用于envi_setup_head
创建 ENVI 头文件。基本上你所要做的就是向它提供样本数、行数、数据类型等,你就可以开始了。
pro enviHeaderTest
compile_opt idl2
; Create the data and write to a file.
ns = 100
nl = 100
data = dist(ns, nl)
fname = 'mydatafile.dat'
openw, lun, fname, /GET_LUN
writeu, lun, data
close, lun
; Open a headless ENVI.
nv = envi(/HEADLESS)
; Create some map info for the raster.
mc = [0,0,0,0] ;Tie point: [x pixel, ypixel, x map, y map]
ps = [1D/3600, 1D/3600] ; Pixel size
mapInfo = envi_map_info_create(/GEOGRAPHIC, MC=mc, PS=ps)
; Create the header.
envi_setup_head, FNAME=fname, $ ; file name
NS=ns, $ ; number of samples
NL=nl, $ ; number of lines
NB=1, $ ; number of bands
DATA_TYPE=4, $ ; IDL data type (float in this case)
INTERLEAVE=0, $ ; BSQ
MAP_INFO=mapInfo, $
/WRITE
; Close ENVI.
nv.close
end
然后,您可以从 File->Open 菜单或通过 IDL 命令行将图像读入 ENVI,如下所示:
IDL> nv = envi()
ENVI> view = nv.getview()
ENVI> raster = nv.openraster('mydatafile.dat')
ENVI> layer = view.createlayer(raster)