我不理解envi_setup_head
。任何人都可以帮我写IDL代码格式吗?
我有在IDL中生成的地图,我需要在ENVI中处理它们。我不知道如何将图像保存在文件夹中,并且能够在ENVI中打开它们。有谁知道怎么做?
答案 0 :(得分:0)
要为图像文件创建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)