|
楼主 |
发表于 2014-4-11 21:06
|
显示全部楼层
:Author: Gavin_GL 2011-8-28
;-
;+
; escription:
; Describe the procedure.
; :Author: Gavin_GL 2011-8-28
;-
PRO ReadHDF
; 窗口选择HDF
FILE_NAME=DIALOG_PICKFILE()
SDS_NAME="EV_250_RefSB"
; 打开HDF文件
sd_id = HDF_SD_START( FILE_NAME, /read )
; 获取index
sds_index = HDF_SD_NAMETOINDEX(sd_id,SDS_NAME)
; 获取SDS ID
sds_id = HDF_SD_SELECT( sd_id, sds_index )
;获取数据
HDF_SD_GETDATA, sds_id, data
;dims = SIZE(data)
HDF_SD_ENDACCESS, sds_id
; 关闭HDF文件
HDF_SD_END, sd_id
;缩小图片
imagedata = BYTSCL( Congrid(data,541,812,1) )
WINDOW, 0, xsize=541, ysize=812, retain=2,TITLE='HDF图片'
;窗口显示HDF文件
TV, imagedata,/order
image=TVRD(0,0,541,812,/true)
WRITE_JPEG,'e:\result.jpg', image,true=1, quality=75;输出jpeg
WRITE_PNG,'e:\result.png', image;输出png
;图像颠倒纠正
image=TVRD(0,0,541,812,/true,/order)
WRITE_TIFF,'e:\result.tiff', image;输出tiff
END有批量的程序吗?
|
|