《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于IDL的遙感圖像漫游和縮放技術(shù)的實(shí)現(xiàn)
基于IDL的遙感圖像漫游和縮放技術(shù)的實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2014年第6期
王 淼1, 熊顯名1, 滕惠忠2, 陶 治1
(1. 桂林電子科技大學(xué) 電子工程學(xué)院, 廣西 桂林 541004; 2. 天津海洋測繪研究所, 天
摘要: 基于IDL對象圖形法實(shí)現(xiàn)了遙感圖像的漫游和連續(xù)多級縮放,具有運(yùn)行速度快,穩(wěn)定性好等特點(diǎn)。漫游解決了大的遙感圖像不能在一般窗口完整顯示的問題, 方便用戶快速顯示瀏覽大的遙感圖像。圖像的縮放實(shí)現(xiàn)了對圖像細(xì)節(jié)的放大和縮小,改善了視覺效果,提高了圖像處理的效率。
Abstract:
Key words :

摘   要: 基于IDL對象圖形法實(shí)現(xiàn)了遙感圖像的漫游和連續(xù)多級縮放,具有運(yùn)行速度快,穩(wěn)定性好等特點(diǎn)。漫游解決了大的遙感圖像不能在一般窗口完整顯示的問題, 方便用戶快速顯示瀏覽大的遙感圖像。圖像的縮放實(shí)現(xiàn)了對圖像細(xì)節(jié)的放大和縮小,改善了視覺效果,提高了圖像處理的效率。
關(guān)鍵詞: IDL; 對象圖形法; 圖像漫游; 圖像縮放

    遙感圖像按一定比例尺客觀真實(shí)地記錄和反映地表物體的電磁輻射的強(qiáng)弱信息,是遙感探測所獲得的遙感信息資料的一種表現(xiàn)形式[1]。在遙感技術(shù)的研究中,對遙感圖像的分析與研究在地質(zhì)勘探、城市規(guī)劃、氣象科學(xué)、海洋利用和環(huán)境保護(hù)等方面都有十分重要的意義。隨著傳感器技術(shù)和計算機(jī)科學(xué)技術(shù)的快速發(fā)展,獲取的遙感圖像的地面分辨率越來越高,所包含的數(shù)據(jù)量越來越大,獲取的遙感圖像也越來越大[2]。如何快速顯示和瀏覽大的遙感圖像,獲得圖像中的細(xì)節(jié)信息就成為遙感圖像處理與分析的一個重要環(huán)節(jié)。交互式數(shù)據(jù)語言IDL(Interactive Data Language)是Research Systems公司(現(xiàn)為ITT Visual Information Solutions公司)推出的致力于科學(xué)數(shù)據(jù)的可視化和分析語言。它功能強(qiáng)大、簡單易學(xué)、編程效率高,很少的幾行代碼就能實(shí)現(xiàn)其他語言很難實(shí)現(xiàn)的功能[3]。本文有效利用IDL語言強(qiáng)大的可視化、快速的數(shù)據(jù)處理能力及對象圖像法靈活方便的構(gòu)建圖形圖像等特點(diǎn),實(shí)現(xiàn)了遙感圖像的漫游和縮放功能,具有處理速度快、圖像移動連續(xù)以及程序可移植性強(qiáng)等優(yōu)點(diǎn)。
1 漫游技術(shù)介紹
    遙感圖像經(jīng)常是大畫面圖像,而一般的圖像顯示窗口較小,因此圖像不能完整顯示在窗口中,給圖像編輯帶來困難[4]。
    圖像漫游是在圖像顯示窗口中上下左右移動,圖像的一側(cè)逐漸出現(xiàn),另一側(cè)逐漸消失??梢园颜膱D像定義為一個邏輯屏幕,而把顯示屏幕定義為一個物理屏幕,其關(guān)系如圖1所示。

    可以看出,物理屏幕只是邏輯屏幕的一個子集,要瀏覽整個邏輯屏幕中的內(nèi)容,只需要移動物理屏幕在邏輯屏幕中的起始位置即可,這就是漫游技術(shù)。在交互式系統(tǒng)中使用光標(biāo)控制物理屏幕起始位置[5]。
2 圖像的放大縮小技術(shù)概述
    在圖像瀏覽過程中,對瀏覽區(qū)域進(jìn)行放大或者縮小是一種基本的操作。所謂圖像縮放是指改變圖像的分辨率。縮小圖像的主要目的是使得圖像符合顯示區(qū)域的大小并生成對應(yīng)圖像的縮略圖。放大圖像的主要目的是通過放大原圖像從而更清楚地看到圖像上的某些細(xì)節(jié)信息。尤其對高精度的大圖像來說,一些細(xì)節(jié)信息必須要通過放大操作來觀察。圖像的這種處理手法在圖像顯示、傳輸(通信)、圖像分析、動畫制作和電影合成等方面有著相當(dāng)廣的應(yīng)用。但是對圖像的縮放操作并不能獲得更多關(guān)于該圖像的信息,因此圖像的質(zhì)量將不可避免地受到影響。
    本文利用IDL語言編寫的程序?qū)崿F(xiàn)了圖像的連續(xù)多級放大和連續(xù)多級縮小,每一級的放大和縮小系數(shù)可以根據(jù)用戶需要任意設(shè)定。
3 IDL的應(yīng)用
 IDL作為語法簡單地面向矩陣運(yùn)算的計算機(jī)語言,提供了與多種語言的標(biāo)準(zhǔn)接口工具和大量功能豐富的命令、函數(shù)和程序模塊,使得數(shù)據(jù)分析和可視化表達(dá)更加簡潔、靈活。IDL已經(jīng)廣泛應(yīng)用在信息處理、空間科學(xué)、氣象、資源環(huán)境中數(shù)字圖像處理等領(lǐng)域[6]。
3.1 IDL的對象圖形法
    IDL語言有兩套完全獨(dú)立的圖形體系:直接圖形法和對象圖形法[7]。直接圖形法是依靠當(dāng)前顯示設(shè)備快速顯示的圖形的可視化模式,創(chuàng)建在圖形設(shè)備上的內(nèi)容將不能再更改和重復(fù)利用,適用于命令行操作。對象圖形法不直接依賴于用戶使用的圖形設(shè)備,可以直接運(yùn)行于各種計算機(jī)系統(tǒng)中,而且不需要進(jìn)行圖形設(shè)備的設(shè)置,同時還可以重復(fù)利用,因此更加適合開發(fā)應(yīng)用程序。
    IDL的對象圖形法可以形象地理解為“壘積木”,構(gòu)建場景就是要將不同的“積木”按照一定的規(guī)則堆起來。本文利用IDL的對象圖形法建立了視圖對象和窗口對象等,將其按照層次關(guān)系“壘”起來,最后把最終的場景再在窗口對象中顯示。IDL對象圖形系統(tǒng)的組成結(jié)構(gòu)如圖2所示。

 

 

3.2 IDL的鼠標(biāo)響應(yīng)事件
    在用IDL語言編寫漫游和縮放功能的過程中用到了大量的發(fā)生在繪圖DRAW組件中的鼠標(biāo)響應(yīng)事件,因此在這里簡單介紹一下。IDL的圖形窗口中,每發(fā)生一個動作都會產(chǎn)生事件,每個事件都會返回一個事件結(jié)構(gòu),所有的事件都是要靠這個結(jié)構(gòu)來處理的。
 事件結(jié)構(gòu)是指組件的事件所包含的一組特定信息的集合。事件結(jié)構(gòu)包含了產(chǎn)生事件的相應(yīng)組件的相關(guān)信息。每個事件都產(chǎn)生于其自身的、特定的事件結(jié)構(gòu)中,然后被發(fā)送到事件處理模塊。
 事件結(jié)構(gòu)與一般結(jié)構(gòu)的區(qū)別是事件結(jié)構(gòu)均有ID、Top和Handler 3個公共字段,這3個字段都是長整型的變量。ID是事件過程中產(chǎn)生事件組件的唯一標(biāo)識;Top是層次結(jié)構(gòu)中最頂級base的標(biāo)識;Handler是與組件相關(guān)聯(lián)的組件事件處理程序的標(biāo)識。事件產(chǎn)生的事件結(jié)構(gòu)都要發(fā)送到事件處理程序中,每個事件處理程序都與某一個組件相關(guān)聯(lián)[8]。
    DRAW組件的事件結(jié)構(gòu)為:
    {WIDGET_DRAW,ID:0L, TOP:0L, Handler:0L ,Type:0,X:0,Y:0,Press:0,Release:0,Clicks:0}
    字段Type用于設(shè)置時間的類型,其可能的值有:鼠標(biāo)按下(0)、鼠標(biāo)松開(1)、鼠標(biāo)移動(2)、視點(diǎn)滾動(3)和顯示(4)。上述所有事件都必須顯示地指定,否則相應(yīng)的事件是不會產(chǎn)生的。字段X和Y給出了事件發(fā)生時的設(shè)備或屏幕坐標(biāo),繪圖組件的左下角為坐標(biāo)原點(diǎn)。字段Press和Release,當(dāng)鼠標(biāo)被按下或釋放時,它們的值就分別存在了。其中,1表示鼠標(biāo)左鍵,2表示鼠標(biāo)中鍵,4表示鼠標(biāo)右鍵。如果產(chǎn)生鼠標(biāo)移動事件,那么Press和Release都被設(shè)置為0。當(dāng)鼠標(biāo)單擊時,字段Clicks返回1,雙擊時返回2。
    本文所編寫的圖像漫游和縮放流程圖分別如圖3和圖4所示。

4 性能分析及效果
    通常,功能實(shí)現(xiàn)時間的長短直接決定了功能實(shí)現(xiàn)的好壞。對本文而言,程序執(zhí)行速度的快慢與圖像的大小有很大的關(guān)系。圖像越小,程序執(zhí)行的速度越快,反應(yīng)越靈敏。本文以2 064像素×2 534像素大小的圖像為例,通過在程序中添加時間函數(shù)經(jīng)過反復(fù)測試得到以下結(jié)果:圖像漫游所花費(fèi)的時間是0.156 s左右,圖像進(jìn)行一級放大和縮小的時間是0.171 s左右,當(dāng)進(jìn)行多級放大時,時間會有所延長。由此可知,本文實(shí)現(xiàn)的圖像的漫游和縮放功能執(zhí)行速度快,圖像能迅速跟隨鼠標(biāo)移動,給用戶以平滑和連續(xù)的感覺。
4.1 圖像漫游效果
    原來顯示在窗口中的圖像及圖像向上、下、左、右漫游(以原圖中間的白色房屋為中心參考點(diǎn))后的圖像如圖5所示。

4.2 圖像放大效果
 圖像的原圖以及放大系數(shù)設(shè)置為1.2時圖像經(jīng)過5級放大后的效果圖、放大系數(shù)設(shè)置為1.5時圖像經(jīng)過5級放大后的效果圖以及經(jīng)過多級放大后的效果圖如圖6所示。圖像還可以繼續(xù)進(jìn)行放大操作,但從圖6可看出,此時圖像失真較嚴(yán)重,研究意義較小。
4.3 圖像縮小效果
    圖像的原圖以及縮小系數(shù)為0.8時經(jīng)過3級縮小的圖像、縮小系數(shù)為0.5時經(jīng)過3級縮小以后的圖像和經(jīng)過多級縮小以后的圖像如圖7所示。觀察圖像縮小效果圖可發(fā)現(xiàn),當(dāng)縮小到一定程度時,圖像已經(jīng)完全顯示到屏幕上,此時繼續(xù)縮小圖像則不會有較大變化。

    本文首次嘗試?yán)肐DL語言對象圖形法實(shí)現(xiàn)遙感圖像的漫游和縮放,并給出了處理結(jié)果。結(jié)果表明,該方法實(shí)現(xiàn)了對大的遙感圖像的快速瀏覽和對圖像的任意多級縮放,具有運(yùn)行速度快、連續(xù)性好等特點(diǎn),提高了用戶圖像處理的效率。
參考文獻(xiàn)
[1] 王一達(dá),沈熙玲,謝炯.遙感圖像分類方法綜述[J].遙感信息,2006(5):67-71.
[2] 張宏偉,童恒建,左博新,等.基于GDAL大于2G遙感圖像的快速瀏覽[J].計算機(jī)工程與應(yīng)用,2012,48(13):159-162.
[3] 董彥卿. IDL程序設(shè)計[M].北京:高等教育出版社,2012.
[4] 王洪慶,張焱.NDPC-386圖像漫游技術(shù)[J].微計算機(jī)應(yīng)用,1993,14(6):1-6.
[5] 李軍.通用的圖形圖像漫游技術(shù)[J].電腦編程技巧與維護(hù),1996(6):53-60.
[6] 韓培友. IDL可視化分析與應(yīng)用:可視化交互數(shù)據(jù)語言[M].西安:西北工業(yè)大學(xué)出版社,2006.
[7] 閆殿武.IDL可視化工具入門與提高[M].北京:機(jī)械工業(yè)出版社,2003.
[8] LIAM E G. Practical IDL programming[M]. Morgan Kauf-mann Publishers Inc., 2001.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。