




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-IDL编程实现图像处理pro exampleENVI, /RESTORE_BASE_SAVE_FILESENVI_BATCH_INITtlb=widget_base(column=1,mbar=mbar,title=Example,tlb_frame_attr=1,xoffset=500,yoffset=100,xsize=800,ysize=600,RESOURCE_NAME = example)filemenu=widget_button(mbar,value=File)fileopt1=widget_button(filemenu,value=Open,event_pro=open_event)fileopt2=widget_button(filemenu,value=Save,/menu)Save1= widget_button(fileopt2,value = binary,uname = savebinary)Save2= widget_button(fileopt2,value = jpg,uname = savejpg)Save3= widget_button(fileopt2,value = bmp,uname = savebmp)Save4= widget_button(fileopt2,value = tif,uname = savetif)Save5= widget_button(fileopt2,value = dat,uname = savedat)fileopt3=widget_button(filemenu,value=Exit,event_pro=exit_event,/separator)editmenu=widget_button(mbar,value=Edit)processopt1=widget_button(editmenu,value=K-L Transform, event_pro=K_L_event,/separator)processopt2=widget_button(editmenu,value=Histogram Equalization,event_pro=HistogramEqualization_event,/separator)processopt3=widget_button(editmenu,value=NDVI,event_pro=NDVI_event,/separator)processopt5=widget_button(editmenu,value=Image Smoothing,event_pro=IS_event)processopt4=widget_button(editmenu,value=edge enhancement,/menu)imageopt1=widget_button(processopt4,value=robort,event_pro=robort_event)imageopt2=widget_button(processopt4,value=sobel,event_pro=sobel_event)imageopt3=widget_button(processopt4,value=prewitt,event_pro=prewitt_event)helpmenu=widget_button(mbar,value=Help)idlhelp=widget_button(helpmenu,value=IDL help,event_pro=help_event)iconbase=widget_base(tlb,row=1,/frame)subdir=resource/bitmapsmapfile=filepath(open.bmp,subdir=subdir)iconopt1=widget_button(iconbase,value=mapfile,/bitmap,event_pro=open_event)mapfile=filepath(save.bmp,subdir=subdir)iconopt2=widget_button(iconbase,value=mapfile,/bitmap,event_pro=Save_event)button5=widget_button(iconbase,value=new.bmp,/bitmap,event_pro=new_event)button3=widget_button(iconbase,value=zoom_in.bmp,/bitmap,uvalue=suoxiao)button4=widget_button(iconbase,value=zoom_out.bmp,/bitmap,uvalue=fangda)help = widget_button(iconbase,value = filepath(help.bmp,subdirectory = resource,bitmaps),/bitmap,event_pro=help_event)draw=widget_draw(tlb,x_scroll_size=780,y_scroll_size=550,xsize=1000,ysize=1000,xoffset=200,/button_events)file=data=BYTARR(2,2,2) pdata = bytarr(2,2,2) status=0pstate=ptr_new(draw:draw,file:file,data:ptr_new(data),pdata:ptr_new(pdata)widget_control,tlb,set_uvalue=pstatewidget_control,tlb,/realizeXMANAGER, example, tlb,/no_blockendpro open_event,eventcompile_opt IDL2envi,/restore_base_save_filesenvi_batch_initwidget_control,event.top,get_uvalue=pstatefilters = *.jpg,*.bmp,*.img,*.tif,*.jpeg,*.pngfile = DIALOG_PICKFILE(/READ, FILTER = filters)envi_open_file,file,r_fid=fidif fid eq -1 then returnenvi_file_query,fid,dims=dims,nb=nb,nl=nl,ns=ns,bnames=bnamespos=indgen(nb)(*pstate).file=filebasename=file_basename(file)f1=strpos(basename,.)type=strmid(basename,f1+1,strlen(basename)-f1)type=strupcase(type)widget_control,(*pstate).draw,get_value=drawwset,drawCASE TYPE OF JPEG: BEGIN READ_JPEG,FILE,DATA TV,DATA,/TRUE *(*PSTATE).DATA)=DATA END PNG : BEGIN READ_PNG,FILE,DATA TV,DATA,/TRUE *(*PSTATE).DATA)=DATA END JPG: BEGIN READ_JPEG,FILE,DATA TV,DATA,/TRUE *(*PSTATE).DATA)=DATA END BMP: BEGIN DATA=READ_BMP(FILE) TV,DATA,/TRUE *(*PSTATE).DATA)=DATA END DAT: BEGIN DATA = BYTARR(NS,NL,NB) OPENR,LUN,FILE,/GET_LUN READU,LUN,DATA TVSCL,DATA FREE_LUN,LUN *(*PSTATE).DATA)=DATA END IMG: BEGIN data = bytarr(ns,nl,nb) data= ENVI_GET_DATA(fid=fid, dims=dims, pos=pos) WIDGET_CONTROL,(*pstate).draw, GET_VALUE=draw WSET, draw tvscl,data,/order *(*pstate).data)=data END TIF: BEGIN DATA=BYTARR(NS,NL,NB) DATA= ENVI_GET_DATA(FID=FID, DIMS=DIMS, POS=POS) TVSCL,DATA,/ORDER *(*PSTATE).DATA)=DATA END TIFF: BEGIN DATA=BYTARR(NS,NL,NB) DATA= ENVI_GET_DATA(FID=FID, DIMS=DIMS, POS=POS) TVSCL,DATA,/ORDER *(*PSTATE).DATA)=DATA END ENDCASEendpro save_event,eventwidget_control,event.top,get_uvalue=pstatefile=(*pstate).filesavefile= dialog_pickfile(title=save,path = D:)if savefile eq then beginvoid = dialog_message(No file!,/error)returnendifa=strpos(savefile, .)b=strlen(savefile)type = strmid(savefile,a+1, b-a)case type ofsave:begin file=(*pstate).fname ENVI_OPEN_FILE,file,r_fid=fid if fid eq -1 then begin void=DIALOG_MESSAGE(file inputed error,/information) ENVI_BATCH_EXIT return endif filename=DIALOG_PICKFILE(title=choose file saved position,filter=*.jpg) write_jpeg, filename+.jpg, *(*pstate).data), /true endjpg : begin write_JPEG,savefile,data end png : begin write_png,savefile,data end bmp : begin write_bmp,savefile,data end tif: begin write_tiff,savefile,data end dat: begin openw,lun,binary,/get_lun writeu,savefile,data end endcase help, event, /structIF event.SELECT THEN WIDGET_CONTROL, event.TOP, /DESTROYendpro help_event,evevt compile_opt IDL2 envi,/restore_base_save_files envi_batch_init ONLINE_HELPENDpro exit_event, event help, event, /struct IF event.SELECT THEN WIDGET_CONTROL, event.TOP, /DESTROYendpro K_L_event,eventcompile_opt IDL2envi,/restore_base_save_filesenvi_batch_init widget_control,event.top,get_uvalue=pstatefile=(*pstate).fileenvi_open_file,file,r_fid=fidif fid eq -1 then beginreturnendifenvi_file_query,fid,dims=dims,nb=nbpos=lindgen(nb)envi_doit,envi_stats_doit,fid=fid,pos=pos,dims=dims,mean=avg,eval=eval,evec=evec,comp_flag=5envi_doit,pc_rotate,$fid=fid,pos=pos,dims=dims,mean=avg,eval=eval,evec=evec,$out_dt=4,out_name=out_name,out_nb=nb,r_fid=r_fid,/forward,/in_memoryenvi_file_query,r_fid,dims=dims,nb=nb,ns=ns,nl=nldata =bytarr(ns,nl,nb)data= envi_get_data(fid=fid,dims=dims,pos=pos)window,1,xsize=ns,ysize=nl,title=spatial principal component analysistv,data,/orderendpro ndvi_event,eventcompile_opt IDL2envi,/restore_base_save_filesenvi_batch_initwidget_control,event.top,get_uvalue=pstatefile=(*pstate).filedata=*(*pstate).data) envi_open_file,file,r_fid = fid envi_file_query, fid, dims=dims,nb=nb,ns=ns,nl=nl pos = 4,3 - 1 envi_doit,ndvi_doit,fid=fid, pos=pos, dims=dims,/check, o_min=0, o_max=255,r_fid=r_fid,/inme_mory envi_file_query,r_fid,dims = dims,nb = nb,ns=ns,nl=nl data = BYTARR(ns,nl,nb) data= ENVI_GET_DATA(fid=r_fid, dims=dims, pos=pos)window,3,title=NDVI TVSCL,data,/orderendpro HistogramEqualization_event,eventwidget_control,event.top,get_uvalue=pstatedata=*(*pstate).data)file=(*pstate).fileenvi_open_file,file,r_fid=fidenvi_file_query,fid,dims=dims,nb=nb,ns=ns,nl=nl WINDOW, 1, TITLE = The original image histogram plot,HISTOGRAM(data) result =HIST_EQUAL(data); ADAPT_ WINDOW, 2,xsize = ns,ysize = nl,TITLE = histogram matching TV, result,/order WINDOW, 3, TITLE = After the image histogram matching plot,HISTOGRAM(result)endpro IS_event,eventwidget_control,event.top,get_uvalue=pstatefile=(*pstate).fileenvi_open_file,file,r_fid=fidenvi_file_query,fid,dims=dims,nb=nb,ns=ns,nl=nlif fid eq -1 then returndata=smooth(*(*pstate).data),3)window,1,xsize=ns,ysize=nl,title=smoothingtvscl,data,/orderendpro robort_event,eventwidget_control,event.top,get_uvalue=pstatedata=*(*pstate).data)file=(*pstate).fileenvi_open_file,file,r_fid=fidenvi_file_query
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新冠应急知识培训课件
- 净水技术知识培训课件
- 勤务安全知识培训
- 勤俭节约的课件
- 助理知识产权师培训内容课件
- 助产基本知识培训课件
- 初三化学二氧化碳实验设计与分析
- 剖腹产术后相关知识培训课件
- 烹饪化学基础知识考点总结
- 公租房居住安全管理方案
- 不锈钢焊工技能培训课件
- 管道迁改协议书
- 水利安全风险防控“六项机制”与安全生产培训
- 2025年中国异噻唑啉酮杀菌灭藻剂市场现状分析及前景预测报告
- 基于遥感生态指数的柴达木盆地生态环境质量时空演变分析
- 剑桥PET2025年试卷词汇记忆法与实际运用
- TCPQSXF006-2023消防水带产品维护更换及售后服务
- 《健身步行指南》课件
- 《人工智能在军事应用中的前沿技术》课件
- 前台文员如何进行有效的时间分配计划
- 完工清账协议书格式模板
评论
0/150
提交评论