0

我不明白envi_setup_head。谁能帮我用 IDL 代码格式编写它?

我有在 IDL 中生成的地图,我需要在 ENVI 中处理它们。我不知道如何将图像保存在文件夹中并能够在 ENVI 中打开它们。有谁知道该怎么做?

4

1 回答 1

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)
于 2016-05-25T23:50:55.040 回答