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

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

    IDL語言強大的可視化功能,只需一個TVSCL函數(shù)即可繪出圖形。
3 軟件功能介紹
    本軟件能夠實現(xiàn)對側掃聲納XTF格式圖像的讀取和顯示、校正、格式轉換和圖像濾波處理功能。軟件結構如圖4所示。

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

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

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

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。