IDL程序設(shè)計開發(fā)_第1頁
IDL程序設(shè)計開發(fā)_第2頁
IDL程序設(shè)計開發(fā)_第3頁
IDL程序設(shè)計開發(fā)_第4頁
IDL程序設(shè)計開發(fā)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《IDL應(yīng)用開發(fā)》專 業(yè):班 級:姓 名:學(xué) 號指導(dǎo)教師二零一九年十二月目錄TOC\o"1-2"\h\z\u題目一、圖像處理 3一、解題思路 3二、實驗代碼 3三、結(jié)果截圖 4四、心得總結(jié) 4題目二、混合編程 5一、解題思路 5二、實驗代碼 5三、結(jié)果截圖 7四、心得總結(jié) 7題目三IDL功能開發(fā) 8一、解題思路 8二、實驗代碼 8三、結(jié)果截圖 10四、心得總結(jié) 10題目四ENVI二次開發(fā) 11一、解題思路 11二、實驗代碼 11三、結(jié)果截圖 13四、心得總結(jié) 15題目一、圖像處理一、解題思路要求:IDL.jpg490°180°270°的圖片。解題步驟:proREAD_IMAGE(jpeg)函數(shù)讀取JPEGImage二、實驗代碼proBW_1;獲取當(dāng)前文件所在目錄curDir=FILE_DIRNAME(ROUTINE_FILEPATH('BW_1'),/mark_directory);定義要讀取的jpeg文件jpegfile=curDir+'data\123.jpg';判斷文件是否存在,不存在則提示信息然后退出IF~FILE_TEST(jpegFile)THENBEGINvoid=DIALOG_MESSAGE('jpegnoexist!!',/Error)RETURNENDIFprint,jpegfilehead=READ_IMAGE(jpegfile);UsetheIMAGEfunctiontodisplaytheimageim=IMAGE(head,RGB_TABLE=1,LAYOUT=[2,2,1])im1=IMAGE(head,RGB_TABLE=1,/CURRENT,LAYOUT=[2,2,2])im2=IMAGE(head,RGB_TABLE=1,/CURRENT,LAYOUT=[2,2,3])im3=IMAGE(head,RGB_TABLE=1,/CURRENT,LAYOUT=[2,2,4]);指定旋轉(zhuǎn)角度im.ROTATE,0im1.ROTATE,90im2.ROTATE,180im3.ROTATE,270;指定縮放比例im.SCALE,1.5,1.5im1.SCALE,1.5,1.5im2.SCALE,1.5,1.5im3.SCALE,end1.5,1.5三、結(jié)果截圖四、心得總結(jié)題目一考察了對圖像數(shù)據(jù)讀取方法的理解,題目一可用對象圖形法構(gòu)建Winodows,Model,ViewImageImage方法進(jìn)行圖片大小比例的調(diào)整。題目二、混合編程一、解題思路要求:IDLProC#CProC#窗體中等值線的顯示。解題步驟:IDLIDLgrContourwindow、model,viewdrawC#窗體中編寫代碼,調(diào)用proStudio2017+IDL8.5.二、實驗代碼PRO程序proBW_2,DrawIDWIDGET_CONTROL,drawID,get_Value=mywindow;mywindow=OBJ_NEW('IDLgrWindow')myview=OBJ_NEW('IDLgrView',VIEWPLANE_RECT=[0,0,19,19])mymodel=OBJ_NEW('IDLgrModel')data=DIST(20)mycontour=OBJ_NEW('IDLgrContour',data,COLOR=[100,150,200],$C_LINESTYLE=[0,2,4],/PLANAR,GEOMZ=0,C_VALUE=INDGEN(20))myview->Add,mymodelmymodel->Add,mycontourmywindow->Draw,myviewendC#窗體程序usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceBW_2混合編程{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){//定義IDL控件的路徑this.axIDLDrawWidget1.IdlPath=@"E:\ENVI5.3\IDL85\bin\bin.x86\";//控件初始化intn=axIDLDrawWidget1.InitIDL((int)this.Handle);if(n==0){MessageBox.Show("IDL初始化失?。?,"IDLreturn;}}privatevoidbutton1_Click(objectsender,EventArgse){if((axIDLDrawWidget1.DrawId!=-1)&&(axIDLDrawWidget1.GraphicsLevel!=2)){axIDLDrawWidget1.DestroyDrawWidget();}axIDLDrawWidget1.GraphicsLevel=2;axIDLDrawWidget1.CreateDrawWidget();axIDLDrawWidget1.ExecuteStr(@".compile'E:\Study\大三上學(xué)期\IDL\IDL大作業(yè)\201716102032_王海航\Bw_2.pro'");axIDLDrawWidget1.ExecuteStr("Bw_2,"+axIDLDrawWidget1.DrawId.ToString());}}}三、結(jié)果截圖四、心得總結(jié)C#IDLProC#IDLpro程序,最后繪制出來。過程中遇到了一些問題,最后成功解決,也提高了解決問題的能力。題目三、IDL功能開發(fā)一、解題思路要求:設(shè)計一個基于IDLASCIIIDLASCIIASCII的IDLtextIDL控制臺中。實驗步驟:IDLbuttonAscalltextascallxmanagerIDascallwidget_controlss二、實驗代碼PROBW_3_event,evWIDGET_CONTROL,ev.TOP,GET_UVALUE=textwidWIDGET_CONTROL,ev.ID,GET_UVALUE=uval;uName=widget_info(event.id,/uName)ifuvalEQ'ONE'thenbeginasciifile=dialog_pickfile(title='ascii.txt',filter='*.txt',$e(h('openr,lun,asciifile,/get_luniflunEQ-1thenbeginvoid=dialog_message('文件錯誤!',/error)returnendiftmp="add="while(~EOF(lun))dobeginreadf,lun,tmpprint,tmpadd+=tmpprint,addWIDGET_CONTROL,textwid,SET_VALUE=addEndwhilefree_lun,lunendififuvalEQ 'DONE'thenbeginWIDGET_CONTROL,ev.TOP,/DESTROYEndifENDPROBW_3base=WIDGET_BASE(/COLUMN)button1=WIDGET_BUTTON(base,VALUE='OpenText',UVALUE='ONE')text=WIDGET_TEXT(base,XSIZE=20,ysize=20,/scroll,/wrap,/EDITABLE)button3=WIDGET_BUTTON(base,value='Close',UVALUE='DONE')WIDGET_CONTROL,base,SET_UVALUE=textWIDGET_CONTROL,base,/REALIZEXMANAGER,'BW_3',baseEND三、結(jié)果截圖四、心得總結(jié)是個沒有遇到過的問題,xmanagerpro,傳的參數(shù)也是點textIDTop.id題目四、ENVI二次開發(fā)一、解題思路要求:設(shè)計開發(fā)一個基于ENVIIDL的圖像處理程序。利用IDL語言搭建圖像處理界面,利用ENVI二次開發(fā)功能函數(shù)實現(xiàn)文件遙感圖像選取、元數(shù)據(jù)信息(波段數(shù)、空間子集、行數(shù)、列數(shù)、文件名稱)輸出、圖像數(shù)據(jù)保存等操作。實驗步驟:首先進(jìn)行Envi二次開發(fā)界面的搭建,在主過程中進(jìn)行界面搭建,在按鈕響應(yīng)事件中進(jìn)行功能的編寫,初始化二次開發(fā)模式后,由打開文件按鈕進(jìn)行打開,保存文件按鈕進(jìn)行元數(shù)據(jù)信息輸出以及圖像保存。元數(shù)據(jù)信息輸出在text文本控件中,輸出圖像保存在當(dāng)前pro文件的根目錄下。二、實驗代碼;主程序proBW_4tlb=widget_base(/column,xsize=250,ysize=300)button=widget_button(tlb,value='OpenFile',event_pro='SELECT')button3=widget_button(tlb,value='show/saveInfomation',event_pro='open_save')text=WIDGET_TEXT(tlb,XSIZE=20,ysize=20,/scroll,/wrap,/EDITABLE)WIDGET_CONTROL,tlb,SET_UVALUE=textwidget_control,tlb,/realizexmanager,'BW_4',tlb,/no_blockEndproSELECT,event;定義公共變量commonPUBLIC,fname,r_fid,fid;filename=DIALOG_PICKFILE(title='Pickatiffile',filter='*.tif')COMPILE_OPTIDL2ENVI,/RESTORE_BASE_SABE_FILES;初始化二次開發(fā)模式ENVI_BATCH_INITENVI_OPEN_FILE,fname,r_fid=fidIF(fidEQ-1)THENBEGINENVI_BATCH_EXITRETURNENDIFprint,'文件名稱:',fnameENDproopen_save,evCOMPILE_OPTIDL2ENVI,/RESTORE_BASE_SABE_FILESENVI_BATCH_INITWIDGET_CONTROL,ev.TOP,GET_UVALUE=textwidWIDGET_CONTROL,ev.ID,GET_UVALUE=uvalcommonPUBLIC,fname,r_fid,fidcommonp,dims,nb,ns,nl,data_typeENVI_FILE_QUERY,fid,fName=fileName,dims=dims,nb=nb,ns=ns,nl=nl,data_type=data_typeprint,'波段數(shù):',nbprint,'空間子集:',dimsprint,'文件行數(shù):',nlprint,'文件列數(shù):',nsThisNB=String(nb)ThisDims=String(dims)ThisNl=String(nl)ThisNs=String(ns)pos=lindgen(nb)envi_enter_data,data,r_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論