以下是把
Envi
标准文件转换成
JPEG
格式文件代码
pro Convert_img_jpg
catch,error
if(error ne 0)then begin
errstring=!error_state.MSG
ok=dialog_message(errstring,/cancel)
if(strupcase(ok) eq 'cancel')then return
endif
envifile=dialog_pickfile(title='Please choose a image file which needs to be transfered')
envi_open_file,envifile,r_fid=fid,/no_interactive_query,/no_realize;
打开文件,静默方式
;
查询文件信息
ENVI_FILE_QUERY
, fid, dims=dims, nb=nb, nl=nl,ns=ns,$
fname=fname, data_type=data_type, $
interleave=interleave
Jimg=bytarr(nb,ns,nl)
;
以下分
interleave
等于不同值时分情况进行统一储存到数组中,为变换为
jpg
格式文件做准
备
case interleave of
0:begin
enviimg=bytarr(ns,nl,nb)
openr,lun,envifile,/get_lun
readu,lun,enviimg
free_lun,lun
for j=0,nb-1 do begin
Jimg[j,*,*]=enviimg[*,*,j]
endfor
end
1:begin
enviimg=bytarr(ns,nb,nl)
openr,lun,envifile,/get_lun
readu,lun,enviimg
free_lun,lun
for j=0,nb-1 do begin
Jimg[j,*,*]=enviimg[*,j,*]
endfor
end
2:begin
openr,lun,envifile,/get_lun
readu,lun,Jimg
free_lun,lun