admin 管理员组

文章数量: 1184232


2024年4月19日发(作者:splitter的qt)

以下是把Envi标准文件转换成JPEG格式文件代码

pro Convert_img_jpg

catch,error

if(error ne 0)then begin

errstring=!error_

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

end

endcase

jpg=file_basename(envifile,'.img')

jpgfilepath=dialog_pickfile(/director)

jpefile=jpgfilepath+jpg+'.jpg'

;开始将储存到数组中的img格式文件转换为jpg格式

write_jpeg,jpefile,Jimg,/true,order=1

end


本文标签: 数组 格式文件 储存 文件