Как использовать функцию настройки головы envi?
Я не понимаю envi_setup_head
, Может ли кто-нибудь помочь мне написать его в формате кода IDL?
У меня есть карты, которые были созданы в IDL, и мне нужно обработать их в ENVI. Я не знаю, как сохранить изображения в папке и иметь возможность открыть их в ENVI. кто нибудь знает как это сделать?
1 ответ
Чтобы создать заголовок 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
Затем вы можете прочитать изображение в ENVI, либо из меню File->Open, либо через командную строку IDL следующим образом:
IDL> nv = envi()
ENVI> view = nv.getview()
ENVI> raster = nv.openraster('mydatafile.dat')
ENVI> layer = view.createlayer(raster)