摘 要: 提出了一種在多相" title="多相">多相晶粒圖像分析" title="圖像分析">圖像分析中提取復雜晶界的有效方法。通過預處理消除晶粒內部灰度差和劃痕對邊界提取造成的影響;引入模糊理論判別和跟蹤邊界, 模糊邊緣檢測算法" title="邊緣檢測算法">邊緣檢測算法的特點是不需要確定門限值,具有很強的自適應性;最后進行細化去枝得到單像素寬度的晶界。
關鍵詞: 晶界提取 灰度變換 鄰域平滑 模糊理論 細化去枝
在多相晶粒圖像分析中常常需提取晶界來進行各種參數的測量和計算。對于簡單清晰的圖像,可以通過常用的Sobel 算子、Roberts 算子、Laplace算子等直接處理就能取得較好的效果。 但是工程中遇到的大量圖像由于材料本身或自然因素的影響,一定程度上都存在著晶粒內部灰度分布不均、邊界模糊或劃痕,用上述算子直接提取晶界很難獲得滿意的結果,主要表現在兩個方面:(1)晶粒內部產生了許多偽邊界,影響了對圖像主要信息的研究;(2)部分主要邊界丟失,損失較大。本文針對上述情況,提出了一種復雜多相晶粒圖像晶界提取的方法,有效地克服了上述缺點,得到了比較理想的晶界。
1 預處理
1.1 灰度變換
對于一幅多相晶粒圖像來說常常存在著灰度偏暗、偏亮或居中的情況,如果直接利用灰度的變化檢測邊界, 一些主要邊界會因為灰度變化很小而丟失。使用冪次變換可以提高感興趣區域的對比度。冪次變換的基本形式為:
s=crβ (1)
其中r和s分別為輸入灰度級和輸出灰度級, c和β為正常數。根據圖像的實際情況,調整參數c的取值可以改變圖像的灰度動態范圍,調整β的取值可以增強圖像中感興趣區域的對比度。在c值不變的情況下,隨著β值的變化將簡單地得到一族變換曲線,如圖1。
從圖1中可以看到,當β>1時該變換把輸入窄帶暗值映射到寬帶輸出值,當β<1時把輸入窄帶高值映射為寬帶輸出值。圖1中β>1的值和β<1的值產生的曲線有相反的效果。由于提取的是圖像的大邊界,也就是灰度變化比較明顯的各顆粒間的邊界,而顆粒內部雖然存在灰度差,但灰度差較小,變化相對平穩,所以可以調節參數c適當壓縮圖像的灰度動態范圍,從而平滑了圖像,有利于后面的邊界提取。
1.2 鄰域平滑
1.2.1 中值濾波
由于晶粒內不同程度地都含有雜質﹑劃痕﹑灰度分布不均勻的情況,可以選用不同尺度的中值濾波" title="中值濾波">中值濾波來平滑。中值濾波既能平滑圖像,同時又能很好地保護邊緣輪廓。但是采用大尺度中值濾波時會產生塊狀模糊。
1.2.2 自適應濾波
經過灰度變換和中值濾波后,若仍然不能得到較滿意的平滑圖像,可以采用自適應濾波進一步平滑圖像。自適應平滑的基本形式為:
對于一幅圖像σ2是固定的,恢復系數k會隨局部統計方差的變化而變化。在圖像的平坦區域,相對較小,k值較小,用公式(2)平滑后,是對局部值做較小的恢復,或不恢復(k=0時);而對應于灰度變化較大的區域,
較大,k值也較大,則對局部值做較大的恢復。這就是自適應平滑原理,代價是存在邊緣模糊效應。
2 模糊檢測
在邊緣檢測算法中,通常都要事先確定一個灰度閾值,然后把各像素點的灰度值與該閾值比較,大于閾值的像素點被確認為邊緣點。如果直接利用某種邊緣算子(如Sobel 算子) 檢測邊緣,存在兩個困難:如果取較小的門限值,則得到的邊緣點中包含了許多假邊緣;如果取較大的門限值,則邊緣很不連續。而基于梯度的模糊邊緣檢測算法可以自動確定門限,消除了由于選取不同的門限而對邊緣產生的巨大影響。
2.1 模糊子集的定義
當論域Ψ為一有限集時,其上的模糊子集F定義為:
其中uF:Ψ→[0 ,1 ] 為F的隸屬函數" title="隸屬函數">隸屬函數,uF(xj)表示xj屬于集合F的程度。 當u(x)的值域為{0,1}時,F就退化成一個普通(非模糊) 集合。也就是說,普通集合可以看作是一個特殊的模糊集合,其隸屬度為0或1。為了求得圖像的邊界,將Ψ定義為梯度的集合,xj定義為圖像的梯度;uF(xj)表示梯度為xj的像素點是邊界點的程度。
2.2 邊緣隸屬函數
在實際圖像處理中,隸屬函數是否合適是模糊集合能否成功運用的關鍵。現在研究的問題是多相晶粒圖像的邊緣檢測,處理的是灰度圖像,本文采用模糊統計法來確定隸屬函數。通過大量實驗發現,不同的多相晶粒圖像的梯度直方圖形狀非常相似,如圖2所示。由圖2可見,梯度直方圖主要集中在低值區域。這是因為顆粒內部各像素點與鄰域像素點的灰度值相差不大,而顆粒與顆粒之間像素點的灰度值相差較大,且前者數目遠多于后者。統計所得隸屬函數的形狀近似如圖3所示,故選取戒下型隸屬函數[2]:
其中, x為圖像的梯度值,m和n分別為圖像梯度的最大值和最小值。
2.3 判決函數
引入模糊理論后,模糊集合的數學期望就可以作為邊緣檢測的閾值,具有很強的自適應性。模糊集合F的數學期望為:
式6中,u(xj)表示圖像邊緣隸屬函數,p(xj)表示邊緣隸屬函數u(xj)在圖像中出現的概率,即圖像梯度直方圖中梯度值為xj時對應的梯度概率。
2.4 邊緣跟蹤算法
邊緣跟蹤算法如下:
(1) 按任意坐標軸方向掃描圖像,找到一個非邊界點;
(2) 計算該點的隸屬度u,如果u大于E(F),則該點為邊界點,記錄其行﹑列號,進行(3),否則返回(1);
(3) 在該點的8鄰域中尋找u最大的點,如果它是跟蹤過的點,則返回(1),否則進行(4);
(4) 如果未掃描完圖像,返回(2);如果所有的點都掃描完畢,則結束。
跟蹤結束后,將記錄的邊界點重新賦值即可得到邊界線條。
3 后處理
由上述方法得到的二值圖像中邊界線條存在毛刺且具有一定的寬度,直接使用這樣的圖形進行晶粒度計算有一定麻煩,有必要對提取的邊界進行平滑和細化。
3.1 邊緣平滑
直接對提取的邊界進行細化會產生許多多余的分枝短線,這是由于邊緣存在許多毛刺引起的。可以使用數學形態學上的開操作與閉操作進行邊緣平滑。開操作一般使圖像的輪廓變得光滑,斷開狹窄的間斷并消除細的突出物。閉操作使輪廓線更為光滑,但與開操作相反的是,它通常消除細小的空洞,填補輪廓線中的斷裂。
3.2 細化去枝
對平滑后的邊界圖像進行細化處理,得到單像素寬度的邊界圖像。待細化線條邊緣存在突起時,細化后在突起處形成多余的分枝短線以及零星的偽邊界細化后形成的短截線都必須去除。首先設定短線的長度閾值為L,如果線條長度大于閾值L則認為該線條是原線圖中的線條而非多余短線;如果其值小于或等于閾值L,則認為該線條為多余短線將其去除[4]。
4 實驗結果
采用具有代表性的一幅多相晶粒圖像作為實驗原圖,如圖4(a)所示,對其進行晶界提取。圖4(b)為用Sobel 算子求得的邊界圖。利用模糊邊緣檢測算法,檢測到的邊界如圖4(c) 所示,細化去枝處理后得到的晶界如圖4(d)所示。對比圖4(b)與圖4(d)可以看出,本文算法有效抑制了偽邊界的生成,提取出了較為完整的晶界。
晶界提取是晶粒度圖像分析中的重要環節。本文針對傳統多相晶粒圖像分析中晶界提取存在的缺陷,提出了一種簡單有效的晶界提取方法。先進行預處理(灰度變換﹑鄰域平滑), 再作模糊邊緣檢測,在有效抑制了偽邊界的同時提取出了比較理想的晶界。通過實驗, 驗證了算法的有效性。由于晶界圖像存在著不連續性,晶界的自動修復是下一步的研究方向。
參考文獻
1 楊益軍, 趙榮椿.復雜航空圖像中的大邊緣提取方法[J]. 西安電子科技大學學報(自然科學版),2000;27(1):101~104
2 張躍,鄒壽平,宿芬.模糊數學方法及其應用[M].北京:煤炭工業出版社,1992
3 呂知辛,黃尊靈.圖像最佳鄰域自適應平滑技術[J].計算機系統應用,1998;(7):40~41
4 王吉仁. 基于像素劃分的兩值線圖圖像的細化[J].微電子學與計算機,1995;(3):35~37
5 岡薩雷斯.數字圖像處理(第二版)[M].北京:電子工業出版社, 2003