[转载]IDL二次开发利用envi入手练习 |
ENVI/IDL二次开发 之遥感影像处理入门练习(转帖水色遥感) 1,读取一幅多波段影像的中心点光谱曲线,并plot出来,用中文宋体标示出其经纬度; 训练内容:Envi获取影像投影参数,像素点地理位置的方法;熟悉Plot的参数设置; 推荐调用函数: envi_pickfile, envi_open_file Envi_file_query Envi_get_map_info ENVI_PROJ_CREATE ENVI_CONVERT_FILE_COORDINATES ENVI_CONVERT_PROJECTION_COORDINATES PLot ENVI_FILE_MNG 源码: pro read01
2,读取一景TM影像的3、4波段,计算NDVI,用灰度图显示出来,并保存为Envi格式文件; 推荐调用函数: envi_pickfile, envi_open_file Envi_file_query Envi_get_map_info Envi_get_data Float window Tv tvscl Envi_write_envi_file ENVI_FILE_MNG (以上为Envi读写文件常用函数,后文不再详述)
源码: pro ndvidemo
3,读取一景CBERS影像的4个波段,根据LVB变换原理,计算其L、V、B分量并保存; 推荐调用函数: envi_pickfile, envi_open_file Envi_file_query Envi_get_map_info Envi_get_data Envi_get_slice Float Poly_fit Envi_write_envi_file ENVI_FILE_MNG 4,读取2个时相的ETM+影像,去除洪湖湖面范围内的条带(多个波段); 推荐调用函数: envi_pickfile, File_search File_basename File_dirname envi_open_file Envi_file_query Envi_get_map_info Envi_get_data Float window Tv tvscl Envi_write_envi_file ENVI_FILE_MNG 5,读取一幅shapefile矢量文件,据此建立一个ROI(Region of Interest),并把边界点输出为csv格式文件,可以选省界shp(细节我也不清); 推荐调用函数: IDLffShape envi_pickfile, File_search File_basename File_dirname envi_open_file ENVI_DEFINE_ROI ENVI_CREATE_ROI ENVI_SAVE_ROIS Openw Printf,(format参数很关键) Envi_file_query Envi_get_map_info Float ENVI_FILE_MNG 6,Envi调用MATLAB神经网络工具箱,进行水质反演(暂时不做); 附加学习MATLAB,nntool工具箱
7,Envi调用6S 大气纠正程序,对ETM+蓝光波段进行大气纠正; 推荐调用函数: Spawn Openr Readf While Strpos Strmid 其他Envi文件读写常用函数,见前面的练习。
附加学习 Dos命令行语法
8,Envi调用MRT,批量拼接、重投影、裁切MODIS产品(以MOD11为例); 推荐调用函数: Envi文件读写常用函数,见前面的练习。 String 附加学习: Dos的for循环
9,动态添加Envi菜单,创建简单的GUI界面(可稍后再做) 推荐调用函数:
ENVI_DEFINE_MENU_BUTTON 附加学习: 菜单事件处理pro编写 Widget起头函数的熟悉(见附录II);
附录I:
数字图像处理一般包含三种类型的运算:点运算,邻域运算(窗口运算),波段运算。 1)点运算:以像素为运算单位,一般常见于多波段影像。如提取像素光谱曲线z-profile; 2)邻域运算(窗口运算):以各种n×n窗口滤波和平滑为代表,像素周围一定距离内的像素(可加其他附加条件),一起参与运算,例如锐化,sobel锐化,坡度提取等等; 3)波段运算,整个波段整体运算,如PCA主成分分析,NDVI计算等 |
联系客服