(廣州航海高等專科學校,廣州 510725)
據統計,在眾多海難事故中,船舶主動力裝置機械故障位居第一,約占事故總數的22%,在船舶機械故障中,船舶柴油機發生故障概率最大,約占45%[1]。可見,船舶主動力裝置,尤其是船舶柴油機的運行狀況直接影響到船舶的運行安全。而船舶柴油機潤滑油中磨損顆粒監測是實現柴油機故障診斷的重要方法,開展磨損顆粒圖像識別是判定柴油機磨損性故障的發生、發展及機理判定的有效途徑。因此,借助計算機編程對圖像信息進行的處理,要把一幅模擬圖像通過采樣與量化轉化為數字圖像,實現圖像多信息提取,從而實現柴油機磨損顆粒圖像的信息化智能識別。
對柴油機油液中分離出來的磨損顆粒通過顯微鏡拍出的圖像都是連續的模擬圖像,包含圖像的形狀和色彩信息。色度學理論認為,任何圖像的顏色都可以由紅色(red),綠色(green),藍色(blue)按不同比例混合得到,因此紅、綠、藍被稱為三原色[2]。一幅圖像的每個像素點顏色都可以用基于位置坐標的三維函數來表示,即:
f(x,y,z)={fR(x,y,z),fG(x,y,z),fB(x,y,z)}
(1)
式中:f(x,y,z)——圖像像素點的顏色;
fR(x,y,z)、fG(x,y,z)、fB(x,y,z)——該像素點的紅、綠、藍三種顏色的分量值。
油液柴油機磨損顆粒圖像是平面圖像,因此式(1)應該調整為
f(x,y)={fR(x,y),fG(x,y),fB(x,y)}
(2)
在數字圖像處理中,常用矩陣與向量的方式表達圖像。一幅離散化成m×n樣本的數字圖像是一個整數數組,數學上自然就把它描述成一個矩陣F,即
F=f(x,y)=

(3)
柴油機磨損顆粒圖像包含豐富的柴油機故障機理信息,這些信息只有通過一系列算法才能量化,圖像的灰度轉換是第一步。在RGB模型中,如果fR=fG=fB,則顏色表示一種灰度顏色,其中fR=fG=fB的值叫做灰度值。圖像灰度化方法有多種,由于人眼對紅、綠、藍三色的敏感度不同,加權平均法進行灰度,根據重要性及其它指標,將三個分量以不同的權值進行加權平均,其使用公式見式(4)。
f(x,y)=0.3fR(x,y)+0.59fG(x,y)+0.11fB(x,y)
(4)
二值圖像是指整幅圖像畫面內僅黑、白二值的圖像 。將256個亮度等級的灰度圖像通過適當的閾值選取而獲得仍然可以反映圖像整體和局部特征的二值化圖像。二值圖像在數字圖像處理中占有非常重要的地位,因為圖像經二值化后數據量減小,圖像變得簡單,感興趣的目標輪廓更加突出,有利于圖像的進一步處理。圖像二值化的算法[3]:掃描圖像所有像素,對于灰度值大于或等于閾值的像素點將其灰度值設置為255,表示該像素屬于特定物體。否則該像素點被排除在物體區域以外,將灰度值設置為0,表示背景點或者非目標點。二值化公式為

(5)
式中:θ——指定閾值。
二值化處理后的磨損顆粒圖像還存在著細微的噪聲,表現出孤立的小碎點、空洞以及邊界存在斷點的現象。為了消除這些缺陷,需要采樣數學形態學方法[4]。最基本的形態學處理算法包括:膨脹、腐蝕、開運算和閉運算,在圖像形態學處理中,常將這些算法組合起來使用。
2.3.1 膨脹
A被B膨脹,記為A?B,定義為

(6)
式中:B——結構元素。
式(6)表明A被B膨脹是所有結構元素原點位置的組合的集合,其中映射并平移后的B至少與A有某些部分重疊。
2.3.2 腐蝕
腐蝕的數學定義與膨脹類似,A被B腐蝕記為AΘB,定義為
AΘB={z|(B)Z∩AC=?}
(7)
膨脹和腐蝕是一對對偶運算,將其組合便形成圖像的開運算和閉運算,表述如下。
開運算:A·B=(AΘB)?B
閉運算:A·B=(A?B)ΘB
膨脹的主要效果是使目標邊界向外部擴張,將和目標區域接觸的背景點在一定程度上與目標物相合并,填補了目標區域的某些空洞,消除包含在目標區域內的微小噪聲。腐蝕的主要作用是使邊界向內收縮,可以消除無意義的目標點,使目標物體細化。開運算去除生成區域內的噪聲,閉運算可以連接狹小的缺口,并填充比結構元素小的孔洞,以此來實現圖像的平滑。
為了獲得磨損顆粒圖像的外部輪廓特征,采用“8領域法”掏空磨粒內部點,見圖1,A點為一黑色點,且它的8個相鄰點都是黑色點,此時該點就為輪廓的內部點,將A點刪除,剩下的就是圖像的輪廓。輪廓提取完之后,接下來就要讓計算機記錄下來該圖像邊界的像素坐標,這就要用到輪廓跟蹤算法。

圖1 輪廓提取算
輪廓跟蹤的基本算法[5]:按照從左到右,從下到上的順序搜索圖像,找到第一個黑點一定是最左下方的邊界點,記為A。它的右、右上、上、左上4個領點中至少有一個是邊界點,記為B。從B開始找起,按右、右上、上、左上、左、左下、下、右下的順序找相鄰點中的邊界點C。如果判斷C就是A點,則表明已經轉了一圈,程序結束;否則從C繼續找,直到找到A為止。圖像邊界提取全過程見圖2,由圖2a)到圖2b)是掏空圖像內部點過程;從圖2b)到圖2c)是邊界輪廓的記錄和提取過程。

圖2 邊界提取全過程
種子填充算法的基本算法是邊界填充算法[5]。首先在區域內測試一點(x,y)的像素值,看是否具有原始給定的值,也就是決定該點是否在區域內未被填充過并且該點不是邊界點。如果是,則改變其顏色或者亮度值,然后在其4個領域方向上擴展,繼續測試,通過反復調用,實現4連通式的區域填充。 種子填充算法過程比較簡單,但卻是深度遞歸的。種子填充的效果圖見圖3。

圖3 種子填充算法效果圖
以采集船舶柴油機潤滑油分析獲取的典型層狀磨損顆粒為例,見圖4a),先進行灰度化,去除圖像的彩色信息,見圖4b);其次進行二值化,見圖4c),灰度化后的磨粒圖像經過二值化之后,磨粒與背景基本分離,但出現了內部孔洞和邊界不連續特征。再通過圖像形態學運算中的膨脹運算,使圖像內部孔洞和邊界不連接現象得以修復,但圖像的面積出現變大,見圖4d)。變大的圖像經過腐蝕處理后,圖像可以縮小細化,得到圖4e)。再對圖中的所有區域進行輪廓提取,見圖4f),可以看出整幅磨粒圖像的邊框,內部干擾點輪廓和磨粒輪廓三部分。以磨粒區域內部為種子點,進行種子填充,見圖4g),可以提取磨粒輪廓的整個區域,排除了圖中其它干擾點,從而選取了磨粒圖像中有用的信息。
通過上述圖像處理算法的組合,實現了磨粒與背景相分離,排除圖像干擾,提取有用信息。
船舶柴油機磨損顆粒包含豐富的柴油機零部件磨損狀態及故障信息,通過對磨損顆粒圖像進行灰度化,大小調整,二值化,形態學處理,輪廓提取,種子填充和鏈碼提取等處理,很好地將完整的磨損顆粒從磨粒圖像中分離出來,得到有用的磨粒圖像信息,為磨損顆粒的參數化計算和特征提取做好準備。


圖4 磨損顆粒圖像處理過程
[1] 王家宏,李 俊.船舶柴油機監測與故障診斷方法綜述[J].中國水運,2008,8(2):222-223.
[2] 周長發.精通Visual C++圖像處理編程[M].北京:電子工業出版社,2006.
[3] 謝鳳英,趙丹培.Visual C++數字圖像處理[M].北京:電子工業出版社,2008.
[4] GONZALES R C,WOODS R E.數字圖像處理[M].2版.朱志剛,譯.北京:電子工業出版社,2001.
[5] 張宏林.精通Visual C++數字圖像處理典型算法及實現[M].2版.北京:人民郵電出版,2008.