IDL---ENVI
ENVI;启动envi
file=envi_pickfile();选择文件dialog,返回值就为file
ENVI_OPEN_FIle,file,r_fid=fid;根据文件名打开file,并且返回fid
envi_file_query,fid,NB=NB,NL=NL,NS=NS,dims=dims,data_type=dt,bnames=bnames;根据fid查询图像信息
data=envi_get_data(fid=fid,dims=dims,pos=0)根据fid得到数据dims:维度
window,1,xsize=798,ysize=909l;新建一个window窗体
tv,data;显示数据
tvscl,data;拉伸显示
tvscl,data,/order;idl中左下角为原点,envi中是左上角
envi,/restore_base_save_files ;不启动ENVI调用功能
envi_batch_init:批处理初始化
.e canny.pro;跳转到canny.pro文件 完整工程文件----定义一个button,并添加事件
PRO envi_canny_define_buttons,buttonInfo
;定义button
ENVI_DEFINE_MENU_BUTTON,buttonInfo,$
value='Canny',$;显示的值
uValue='',$;用户值
EVENT_PRO='envi_canny',$;必须与主函数名一致
pef_value='Filter',$;区分大小写
position=1;位置
END pro envi_canny,event ;定义主函数
;
compile_opt idl2 ;编译环境
;选择数据
envi_select,fid=fid,/BAND_ONLY,pos=pos ;选择遥感数据文件
;检查数据
print,fid,pos ;打印
if fid eq -1 then return ;判断是否得到数据
;查询数据
envi_file_query,fid,dims=dims,ns=ns,$
nl=nl, nb=1, wl=wl
;获取数据
data=ENVI_GET_DATA(fid=fid,dims=dims,pos=pos)
;canny
result=canny(data)
;显示数据
;TVSCL,result ;新建窗体并显示数据
output=envi_pickfile(/output) ;设置并得到输出路径
if(output eq "")then begin ;判断得到的输出路径是否为空
ENVI_ENTER_DATA,result
endif else begin
;保存数据
openw,lun,output,/GET_LUN ;新建二进制文件
writeu,lun,result ;将结果写入
FREE_LUN,lun ;释放
;写头文件
ENVI_SETUP_HEAD, fname=output, $
interleave=0,data_type=1, $
NS=NS,NB=1,NL=NL,$
/write, /open, r_fid = r_fid
end envi_display_bands, r_fid, 0;显示该文件(只有一个波段) END ;写完主程序之后要进行保存,$
;在控制台中
;save,filename="E:\Program Files\Exelis\ENVI51\classic\save_add\envi_canny.sav", /routines解决方案:
在IDL的帮助中搜素resolve_all,通过语法
RESOLVE_ALL [, CLASS=string] [, /CONTINUE_ON_ERROR] [, /QUIET] [, RESOLVE_EITHER=string] [, RESOLVE_FUNCTION=string] [, RESOLVE_PROCEDURE=string] [, SKIP_ROUTINES=string] [, UNRESOLVED=variable]
在控制台中输入resolve_all,/CONTINUE_ON_ERROR,SKIP_ROUTINES="envi"回车,在save
save,filename="E:\Program Files\Exelis\ENVI51\classic\save_add\envi_canny.sav", /routines
IDL---ENVI的更多相关文章
- 【300】◀▶ IDL - ENVI API
参考:ENVI API 参考:ENVI Classic Display 序号 类名称 功能说明 语法 & 举例 01 ENVI 函数 ====<<<< De ...
- “找回” Envi 快捷方式
Envi+IDL文件夹挪到别的电脑,不用安装,直接可以使用.但是桌面和开始菜单没有了Envi,IDL,envi+idl的快捷方式,很不方便. 记录一下快捷方式命令行,备用: envi快捷方式 ...
- ENVI/IDL与ArcGIS集成开发的三种途径
转载:本文来自ENVI5.0-IDL8.2系列产品白皮书_201303.PDF(Esri中国官网可下载)中P7-P10 ENVI 是一个非常开放的平台,提供一个健全的函数库,几乎涵盖ENVI 平台大部 ...
- ENVI/IDL中.sav和.pro文件用法的不同
软件envi5.0 sp3 .sav是IDL binaryfile。 安装方法:把ENVIProgramGenerator.sav文件拷贝到…\Exelis\ENVI50\extensions\文件夹 ...
- 2014年ENVI/IDL遥感应用与开发培训班-11月重庆站 開始报名了
主办单位: 中国遥感应用协会 Esri中国信息技术有限公司 内容简单介绍: 依据中国遥感应用协会栾恩杰理事长推动国内遥感技术和应用的指示精神,2014年中国遥感应用协会组织培训交流部与Esri中国信息 ...
- 将封装了envi功能的IDL类导出成java类,方便java调用
目的: 用IDL将ENVI的功能封装成为IDL的类,并使用IDL的对象导出功能把这些功能类导出为java类,方便java调用.(本来想直接通过GP工具调用的,但是没有授权文件) 操作步骤: ...
- IDL打包发布exe(包含ENVI环境)
IDL利用make_rt函数打包发布exe时,输出路径不能包含中文!!!
- IDL界面程序直接调用envi菜单对应功能
参考自http://blog.sina.com.cn/s/blog_764b1e9d010115qu.html 参考文章的方法是构建一个button控件,通过单击实现,这种方法比较复杂,不是我们经常能 ...
- ENVI二次开发模式下的Landsat数据读取
从usgs网站或者马里兰大学下载TM或Landsat原始数据,数据可能包括9个tif数据,两个txt文件和一个gtf文件.示例结构如下: ENVI下可以直接打开*_MTL.txt文件打开,打开后波段列 ...
- IDL与C#混合编程技术
C# (C Sharp)是微软公司在2000年6月发布的一种新的编程语言.C#与Java有很多的相似之处,包括了诸如单一继承.界面.与Java几乎同样的语法,和编译成中间代码再运行的过程.它又借鉴了D ...
随机推荐
- windows+nginx+fcgi配置
最近项目要求要学习一下nginx的知识,由于自己学疏才浅,搞了一天多终于基本搭建出来了,怕日后忘记,所以在此记录一下 nginx的历史,应用和种种就不记录了,自行百度.....Fcgi 相比cgi的好 ...
- 时间日期设置--ctime头文件
简述:ctime头文件中的4中与时间相关的数据类型 <ctime>头文件中定义了4种与时间有关的数据类型,如下:clock_tsize_ttime_tstruct tm clock_tCl ...
- SQL Server Reporting Services – Insufficient Rights Error
http://www.sql-server-performance.com/2011/security-ssrs-reporting-error/ SQL Server Reporting Servi ...
- Week8 软件规格说明书
1.概述 本项目组所开发的软件为一个基于Android的手机端的时间管理软件,主要功能为时间管理软件,可以用于管理待办事项,记录一些需要提醒的信息等.有事件提醒.与Google账户同步.课程表等功能. ...
- JavaScript DOM动态创建(声明)Object元素
http://www.cnblogs.com/GuominQiu/archive/2011/04/01/2002783.html 一文提及“等整个页面加载完毕后,根据用户所选的阅读机类型,再用Java ...
- 面向对象版js分页
基于前一个js分页,我将代码改成一个面向对象版的js分页,代码如下 http://peng666.github.io/blogs/pageobj <!DOCTYPE html> <h ...
- 看我是一只IT小小鸟有感
当我看了<我是一只IT小小鸟>后,有许多的感想.就像许多作者一样,在接触计算机这个专业时都有许多的抱怨,对这个专业的不了解,对这个专业不知道从何学起有深深的无助感,对这个专业在未来的发展有 ...
- 【Python】vim7.4 配置python2.6支持Gundo
问题描述: vim7.4 配置python2.6支持Gundo 参考资料: (1) http://sjl.bitbucket.org/gundo.vim/ ...
- Java 函数参数传递方式详解 分类: Java Game 2014-08-15 06:34 82人阅读 评论(0) 收藏
转:http://zzproc.iteye.com/blog/1328591 在阅读本文之前,根据自己的经验和理解,大家可以先思考并选择一下Java函数的参数传递方式: A. 是按值传递的? B. ...
- hdu 1698 线段树 区间修改
#include <cstdio> #include <cstdlib> #include <cmath> #include <map> #includ ...
解决方案: