遥感HDF格式图像转换处理.doc
《遥感HDF格式图像转换处理.doc》由会员分享,可在线阅读,更多相关《遥感HDF格式图像转换处理.doc(4页珍藏版)》请在冰点文库上搜索。
遥感HDF格式图像转换处理
1.将以下代码复制到IDL-Workbench中
代码:
proheruhdf_cr
;读取某个HDF文件
FILE_NAME=dialog_pickfile(default_extension='.hdf',filter='*.hdf')
;读取其中的某个DataSet里面的数据,可以用HDFExplore看一下HDFl里面的文件结构
SDS_NAME="EV_250_Aggr500_RefSB"
AeroWidth=2708;影像的宽度
AeroLength=4060;影像的高度
;打开HDF文件并初始化HDF接口
sd_id=HDF_SD_START(FILE_NAME,/read)
sds_index=HDF_SD_NAMETOINDEX(sd_id,SDS_NAME)
sds_id=HDF_SD_SELECT(sd_id,sds_index);或者把sds_index改为2可以打开不同类型的图
HDF_SD_GETDATA,sds_id,data
HDF_SD_ENDACCESS,sds_id
;关闭HDF文件
HDF_SD_END,sd_id
imagedata=bytscl(congrid(data,AeroWidth*0.2,AeroLength*0.2,1));按比例缩小影像
DEVICE,DECOMPOSED=0;显示伪彩
LOADCT,36;加载第37个调色板
;如果显示假彩色
;1)Device,Decomposed=1
;2)TVScl,Image,Band=IndexIndex为通道
window,0,Title='picture',xsize=AeroWidth*0.2,ysize=AeroLength*0.2,retain=2
TVSCL,imagedata
image=TVRD(0,0,500,500,/true)
WRITE_JPEG,'e:
\1.jpg',image,true=1;
;输出jpeg
image=TVRD(0,0,500,500,/true)
WRITE_PNG,'e:
\2.png',image
;输出png
image=TVRD(0,0,400,400,/true)
WRITE_TIFF,'e:
\3.tiff',image;
;输出tiff
end
2.运行程序,选择需要的HDF文件打开,呈现如下图像:
导出jpg,png,tiff,格式的文件在指定位置中如下图:
(图一)分辨率为500*500的jpg格式图像
(图二)分辨率为500*500的png格式图像
(图三)分辨率为400*400的tiff格式图像