《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于IDL語言實現(xiàn)側(cè)掃聲納圖像可視化及預(yù)處理
基于IDL語言實現(xiàn)側(cè)掃聲納圖像可視化及預(yù)處理
來源:微型機(jī)與應(yīng)用2011年第2期
馬文東, 熊顯名
(桂林電子科技大學(xué) 電子工程學(xué)院, 廣西 桂林 541004)
摘要: 闡述了IDL(Interactive Data Language)語言的圖像處理優(yōu)點,介紹了側(cè)掃聲納XTF格式數(shù)據(jù)的特點,利用IDL語言開發(fā)了集圖像可視化、格式轉(zhuǎn)換、圖像校正和預(yù)處理于一體的側(cè)掃聲納圖像預(yù)處理軟件。結(jié)果表明,該語言面向矩陣的特性和強(qiáng)大的圖像處理能力減小了開發(fā)的復(fù)雜性,縮短了開發(fā)周期,對國內(nèi)聲納圖像處理軟件開發(fā)有一定參考價值。
Abstract:
Key words :
</a>摘  要: 闡述了IDL" title="IDL">IDL" title="IDL">IDL" title="IDL">IDL(Interactive Data Language)語言的圖像處理優(yōu)點,介紹了側(cè)掃聲納XTF格式數(shù)據(jù)的特點,利用IDL語言開發(fā)了集圖像可視化、格式轉(zhuǎn)換、圖像校正和預(yù)處理于一體的側(cè)掃聲納圖像預(yù)處理軟件。結(jié)果表明,該語言面向矩陣的特性和強(qiáng)大的圖像處理能力減小了開發(fā)的復(fù)雜性,縮短了開發(fā)周期,對國內(nèi)聲納圖像處理軟件開發(fā)有一定參考價值。
關(guān)鍵詞: 側(cè)掃聲納;IDL;水柱校正;圖像預(yù)處理

    我國是海洋大國,對海洋資源的開發(fā)和利用已上升到國家軍事和經(jīng)濟(jì)戰(zhàn)略高度。側(cè)掃聲納海底成像系統(tǒng) ( 以下簡稱側(cè)掃聲納)以其高精度、高效率、高分辨率、對海底微觀地貌直觀成像等特點,在地質(zhì)勘探、目標(biāo)探測、海洋工程等方面的應(yīng)用越來越廣泛,進(jìn)而為海洋測繪、海洋工程、海洋開發(fā)、反潛作戰(zhàn)、 水下救援、物理海洋研究等提供第一手?jǐn)?shù)據(jù)。數(shù)據(jù)的最終利用形式就是側(cè)掃聲納圖像(Sidescan Sonar Image)。正確快捷地判讀和分析聲納圖像是識別海底地貌、沉船、水雷、海底管線等人工或自然目標(biāo)的前提。
    現(xiàn)在商業(yè)聲納圖像處理軟件價格昂貴,且其分析技術(shù)為商業(yè)機(jī)密而未能對外公開,因此在使用商業(yè)軟件分析的同時無法了解其圖形繪制的原理,只能完全被動接受其處理結(jié)果。目前國內(nèi)研究人員一般采用VC++結(jié)合OpenGL或者M(jìn)atlab開發(fā),由于聲納圖像格式的靈活性,實現(xiàn)聲納圖像的分析和處理難度較大,且混合編程也增加其開發(fā)難度。而對于側(cè)掃聲納數(shù)據(jù)處理軟件,國內(nèi)一些單位進(jìn)行了初步開發(fā),但是并沒有真正商品化的產(chǎn)品。所以,側(cè)掃聲納數(shù)據(jù)采集及后期處理軟件在國內(nèi)仍有很大發(fā)展空間。
    交互式數(shù)據(jù)語言IDL(Interactive Data Language)是Research Systems公司(現(xiàn)為ITT Visual Information Solutions公司)推出的致力于科學(xué)數(shù)據(jù)的可視化和分析語言,是數(shù)字信號與圖像的高級處理工具,是跨平臺應(yīng)用開發(fā)的最佳選擇。作為第四代面向?qū)ο蟮目梢暬瘮?shù)據(jù)分析語言,IDL具有其他語言無法比擬的優(yōu)點,在現(xiàn)代科學(xué)計算和數(shù)據(jù)處理中占有非常重要的地位。目前,該語言成為國內(nèi)遙感影像醫(yī)學(xué)圖像處理領(lǐng)域的熱門語言,但是在聲納圖像處理領(lǐng)域還是空白。本文針對側(cè)掃聲納圖像的特點,有效利用IDL語言強(qiáng)大的可視化和高級圖像處理能力,方便快捷地實現(xiàn)側(cè)掃聲納圖像可視化、格式轉(zhuǎn)換、圖像校正和預(yù)處理,對國內(nèi)側(cè)掃聲納圖像處理軟件開發(fā)有一定參考價值。
1 開發(fā)語言選取依據(jù)
    IDL 是一種面向矩陣、語法簡單的第四代可視化語言,集交互分析、可視化、大型商業(yè)開發(fā)于一體,為用戶提供完善、靈活、有效的開發(fā)環(huán)境。簡言之 ,IDL 語言具備如下顯著特點:快速分析超大規(guī)模數(shù)據(jù)的能力、高級圖像處理能力、交互式二維和三維圖形技術(shù)、面向?qū)ο蟮木幊谭绞?、OpenGL 硬件圖形加速、集成的數(shù)學(xué)分析與統(tǒng)計軟件包、完善的信號分析功能、靈活的數(shù)據(jù)輸入輸出方式、 跨平臺圖形用戶界面工具包以及多種外部程序擴(kuò)展方式。IDL已成為交互式數(shù)據(jù)分析和可視化的首選工具。
    (1)IDL具有快速分析超大規(guī)模數(shù)據(jù)的能力,可以讀寫任意格式或無格式的數(shù)據(jù),支持多種數(shù)據(jù)類型,可以處理大于2 GB的海量數(shù)據(jù)文件。
    (2)IDL可進(jìn)行交互式的二維及三維數(shù)據(jù)分析。例如利用Windows命令可以設(shè)置圖像顯示窗口的個數(shù)、大小和形狀,利用TV或TVSCL命令顯示用戶選擇的圖像。
    (3)IDL具有完善的圖像處理軟件包,主要包括圖像的縮放、移動和旋轉(zhuǎn)、圖像的四則運算、圖像的扭曲、圖像區(qū)域處理ROI和形狀分析、圖像增強(qiáng)、圖像濾波、圖像直方圖、圖像平滑、圖像分割、圖像邊界提取和圖像的形態(tài)學(xué)處理(腐蝕、擴(kuò)張、開和閉)等。用戶可根據(jù)自己的需求對其組合優(yōu)化。
    (4)IDL提供“交互”和“編譯”兩種模式(C和FORTRAN 只提供“編譯” 一種模式),IDL可以在任何時候創(chuàng)建和重定義變量的類型、 大小和數(shù)值(C和FORTRAN 只能在執(zhí)行時重定義變量的大小和數(shù)值)等特性,都使得用 IDL 語言編寫程序代碼的效率非常高(通常要比C和FORTRAN語言的效率高80%左右) 。
2 側(cè)掃聲納格式及讀取方法
    側(cè)掃聲納是海底開發(fā)和研究的必備設(shè)備,它是一種高分辨率的水下成像工具,因為是距離成像,工作時,換能器距海底高度和系統(tǒng)量程之比可達(dá)1:10,最終表現(xiàn)在圖像上時會使目標(biāo)存在嚴(yán)重透視收縮、定點位移等幾何畸變。側(cè)掃聲納發(fā)出超聲波束射向海底回收后,每Ping接收的是一條反映海底地質(zhì)特性的像素序列,每個像素反映的是其對應(yīng)的聲強(qiáng)值。同時,側(cè)掃聲納波束是左右舷側(cè)向發(fā)射的,故在中間大約10°范圍內(nèi)沒有回波,成為盲區(qū),也叫水柱區(qū)(water column),對圖像進(jìn)行預(yù)處理時需通過相應(yīng)算法對其做水柱校正。
    不同公司的聲納圖像格式對應(yīng)的數(shù)據(jù)格式也不盡相同,本文采用被廣泛使用的XTF聲納格式的數(shù)據(jù),參考Triton Imaging,Inc.的eXtended Triton Format(XTF)Rev.25,該數(shù)據(jù)格式以二進(jìn)制存儲,具有較強(qiáng)的伸縮性和可擴(kuò)展性,可保存聲納、航行、遙測、測深等多種類型的信息。每個文件都包括不同的數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的標(biāo)識信息識別數(shù)據(jù)包的類型,這樣可以只讀取所需要數(shù)據(jù)包。XTF文件開始是XTFFILEHEADER結(jié)構(gòu),長度最少為1 024 KB(本文處理數(shù)據(jù)一律為1 024 KB), 它包括聲納通道信息和測深通道信息等;后面是不同類型的數(shù)據(jù)包,目前主要有聲納、 測深、 姿態(tài)和注釋四種類型。每個數(shù)據(jù)包都有一個頭結(jié)構(gòu)。數(shù)據(jù)包的位置可以任意, 讀取時依據(jù)頭結(jié)構(gòu)的信息來確定數(shù)據(jù)包的類型。對于通道,每個通道有通道頭結(jié)構(gòu),后面是通道測量數(shù)據(jù)。XTF格式側(cè)掃聲納數(shù)據(jù)結(jié)構(gòu)如圖1所示。

    數(shù)據(jù)讀取流程如圖2所示。

    IDL讀取XTF格式文件代碼如下:
    file =READ_BINARY(sonardata
    IF ((file[0] EQ 123) AND (file[1] EQ 254) AND (file[1024] EQ 206) AND(file[1025] EQ 250)) THEN BEGIN
         imagedata=READ_BINARY(sonardata,DATA_START
                         =1 024
           ENDIF
              datasize=N_ELEMENTS(imagedata)//獲取數(shù)據(jù)區(qū)大小
            OPENR,lun, sonardata,/get_lun          //打開數(shù)據(jù)區(qū)
              POINT_LUN,lun,166L
            Channelsnumber=0
            READU,lun, Channelsnumber
            IF Channelsnumber LT 6 THEN BEGIN
                  PRINT,Channelsnumber
                  POINT_LUN,lun,262L
                  datatype=0
                 POINT_LUN,lun,264L
                  shujulie=0UL
                  READU,lun, shujulie
                  POINT_LUN,lun,1284L
                  SlantRange=0.0
                  READU,lun, SlantRange
                  POINT_LUN,lun,1034L
                  NumBytesThisRecord=0ul
                  READU,lun, NumBytesThisRecord
                  PRINT,NumBytesThisRecord
                   datacolumn=NumBytesThisRecord/datatype
            …
    側(cè)掃聲納圖像可視化軟件界面如圖3所示。

    IDL語言強(qiáng)大的可視化功能,只需一個TVSCL函數(shù)即可繪出圖形。
3 軟件功能介紹
    本軟件能夠?qū)崿F(xiàn)對側(cè)掃聲納XTF格式圖像的讀取和顯示、校正、格式轉(zhuǎn)換和圖像濾波處理功能。軟件結(jié)構(gòu)如圖4所示。

4 側(cè)掃聲納圖像預(yù)處理實現(xiàn)
    因原始圖像比較灰暗,且未作任何預(yù)處理,根據(jù)側(cè)掃聲納圖像的應(yīng)用要求,需要對其做圖像增強(qiáng)、水柱校正和航速校正。利用IDL語言強(qiáng)大的矩陣運算能力,剪切出側(cè)掃圖像。首先對側(cè)掃圖像直方圖統(tǒng)計包絡(luò)曲線,代碼為:
    PLOT,HISTOGRAM(equalizedImage), /XSTYLE, /YSTYLE,
    $TITLE=′Adaptive Equalized Image Histogram′,
    $XTITLE=′Intensity Value′,YTITLE=′Number of Pixels of That Value′
    側(cè)掃圖像直方圖如圖5所示。

    因為IDL中,過程TV(圖像數(shù)組直接轉(zhuǎn)換為字節(jié)型的值而不做任何調(diào)整)和TVSCL(圖像數(shù)組被轉(zhuǎn)化為線性調(diào)整的字節(jié)型數(shù)值)用以顯示圖像。聲納圖像數(shù)組多半為短整型,故需對其做線性調(diào)整,從直方圖統(tǒng)計結(jié)果可以看出灰度圖像值幾乎全部集中在0~4 000之間,此方法會壓縮少量像元點的信息,所以選擇端點至關(guān)重要,本文選取4 000,利用函數(shù)BYTSCL,設(shè)置其參數(shù)MAX=4 000,MIN=0即可輕松實現(xiàn)。結(jié)果表明,圖像增強(qiáng)效果很好,利于對圖像判讀。之后對側(cè)掃圖像做了水柱校正和航速校正,如圖6所示。
    最后實現(xiàn)對側(cè)掃聲納格式向其他格式(如TIF、 BMP、JPEG)的轉(zhuǎn)換。分別使用 WRITE_TIFF、WRITE_BMP、WRITE_JPEG函數(shù)即可方便地實現(xiàn)相應(yīng)格式的轉(zhuǎn)換,無需編寫大量代碼。為提高圖像信息的利用率,分別對其進(jìn)行平滑和濾波處理,如圖7所示。對比來看,中值濾波效果更好。

    本文首次嘗試?yán)肐DL語言開發(fā)側(cè)掃聲納圖像處理軟件,并給出了處理結(jié)果。該結(jié)果表明IDL非常適合聲納圖像的處理和相應(yīng)軟件開發(fā),具有如下優(yōu)點:(1)提供方便的圖形用戶界面GUI和人機(jī)交互性 ,操作人員可以通過參數(shù)設(shè)置和按鈕來交互控制程序運行; (2)便捷的可擴(kuò)展性,模塊化的程序設(shè)計方法便于今后進(jìn)一步擴(kuò)展;(3)良好的可移植性,IDL 程序可以運行于 Windows、Unix和 Macintosh 等操作系統(tǒng),也可將程序通過 IDL 虛擬機(jī)打包運行。側(cè)掃聲納圖像格式各公司都不統(tǒng)一,XTF格式。因其格式靈活性和擴(kuò)展性受到青睞,使用最為廣泛。但XTF的這些特點對其讀取相對來說很麻煩,在Matlab中存在強(qiáng)制64 bit參與計算的瓶頸。本文實驗結(jié)果表明,IDL更加適合聲納圖像處理軟件的開發(fā),奠定了良好的基礎(chǔ)和展示了廣闊的應(yīng)用前景,也為國內(nèi)該領(lǐng)域軟件開發(fā)提供了一定借鑒。
  目前本系統(tǒng)還處于開發(fā)探索階段 ,今后將主要圍繞以下兩方面進(jìn)一步完善系統(tǒng)功能: (1)增加圖像分割、地質(zhì)分類等實用圖像分析模塊;(2)將系統(tǒng)擴(kuò)展處理成不同格式的側(cè)掃聲納數(shù)據(jù),進(jìn)一步優(yōu)化系統(tǒng)和算法設(shè)計。
參考文獻(xiàn)
[1] Triton copmpany introduce of XTF[EB/OL]. http://www.tritnoelics.com/public/download/FileFormatInfo/XtfFileFormatX12.pdf.
[2] 滕惠忠,嚴(yán)曉明,李勝全, 等.側(cè)掃聲納圖像增強(qiáng)技術(shù)[J].海洋測繪,2004,24(2):47-49,70.
[3] 閆殿武.IDL可視化工具入門與提高[M].北京:機(jī)械工業(yè)出版社,2003.
[4] 趙志強(qiáng),鄭小林,王星,等. 基于IDL的醫(yī)學(xué)數(shù)字影像處理技術(shù)初探[J].中國醫(yī)學(xué)影像技術(shù),   2005,21(11):1755-1757.
[5] 許楓,叢鴻文. 側(cè)掃聲納聲圖判別[J].海洋測繪,2001,21(1):58-61.

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