1. 程式人生 > >拉普拉斯運算元原理 影象增強

拉普拉斯運算元原理 影象增強

數學基礎

       拉普拉斯運算元,二階微分線性運算元,為什麼上來就學二階微分運算元,前文說過,與一階微分相比,二階微分的邊緣定位能力更強,銳化效果更好,所以我們來先學習二階微分運算元,使用二階微分運算元的基本方法是定義一種二階微分的離散形式,然後根據這個形式生成一個濾波模板,與影象卷積。

       各向同性濾波器,影象旋轉後響應不變,這就要求濾波模板自身是對稱的,如果不對稱,結果就是,當原圖旋轉90°時,原圖某一點能檢測出細節(突變)的,現在卻檢測不出來,這就是各向異性的原因。我們更關心的是各向同性濾波模板,對影象的旋轉不敏感。

       對於二維影象f(x,y),二階微分最簡單的定義--拉普拉斯運算元定義為:


對於任意階微分運算元都是線性運算元,所以二階微分運算元和後面的一階微分運算元都可以用生成模板然後卷積的方式得出結果。

根據前面對二階微分的定義有:

根據上面的定義,與拉普拉斯運算元的定義相結合,得到:


也就是一個點的拉普拉斯的運算元計算結果是上下左右的灰度的和減去本身灰度的四倍。同樣,可以根據二階微分的不同定義,所有符號相反,也就是上式所有灰度值全加上負號,就是-1,-1,-1,-1,4。但要注意,符號改變,銳化的時候與原圖的加或減應當相對變化。上面是四鄰接的拉普拉斯運算元,將這個運算元旋轉45°後與原運算元相加,就變成八鄰域的運算元了,也就是一個畫素周圍一圈8個畫素的和與中間畫素8倍的差,作為拉普拉斯計算結果。

       因為要強調影象中突變(細節),所以平滑灰度的區域,無響應,即模板係數的和為0,也是二階微分必備條件。

       最後的銳化公式:


      g是輸出,f為原始影象,c是係數,也就是要加上多少細節的多少。

由於拉普拉斯運算元是最簡單的各向同性微分運算元,它具有旋轉不變性。一個二維影象函式的拉普拉斯變換是各向同性的二階導數,定義為:


  

(a)                                                                                                          (b)

(c)

你會發現在一階導數的極值位置,二階導數為0。所以我們也可以用這個特點來作為檢測影象邊緣的方法。 但是, 二階導數的0值不僅僅出現在邊緣(它們也可能出現在無意義的位置),但是我們可以過濾掉這些點。

為了更適合於數字影象處理,將該方程表示為離散形式:


另外,拉普拉斯運算元還可以表示成模板的形式,以便更好程式設計需要。如圖1所示。


圖1(a)表示離散拉普拉斯運算元的模板,圖1(b)表示其擴充套件模板,圖1(c)則分別表示其他兩種拉普拉斯的實現模板。從模板形式容易看出,如果在影象中一個較暗的區域中出現了一個亮點,那麼用拉普拉斯運算就會使這個亮點變得更亮。因為影象中的邊緣就是那些灰度發生跳變的區域,所以拉普拉斯銳化模板在邊緣檢測中很有用。一般增強技術對於陡峭的邊緣和緩慢變化的邊緣很難確定其邊緣線的位置。但此運算元卻可用二次微分正峰和負峰之間的過零點來確定,對孤立點或端點更為敏感,因此特別適用於以突出影象中的孤立點、孤立線或線端點為目的的場合。同梯度運算元一樣,拉普拉斯運算元也會增強影象中的噪聲,有時用拉普拉斯運算元進行邊緣檢測時,可將影象先進行平滑處理

影象銳化處理的作用是使灰度反差增強,從而使模糊影象變得更加清晰。影象模糊的實質就是影象受到平均運算或積分運算,因此可以對影象進行逆運算,如微分運算能夠突出影象細節,使影象變得更為清晰。由於拉普拉斯是一種微分運算元,它的應用可增強影象中灰度突變的區域,減弱灰度的緩慢變化區域。因此,銳化處理可選擇拉普拉斯運算元對原影象進行處理,產生描述灰度突變的影象,再將拉普拉斯影象與原始影象疊加而產生銳化影象。拉普拉斯銳化的基本方法可以由下式表示:


這種簡單的銳化方法既可以產生拉普拉斯銳化處理的效果,同時又能保留背景資訊,將原始影象疊加到拉普拉斯變換的處理結果中去,可以使影象中的各灰度值得到保留,使灰度突變處的對比度得到增強,最終結果是在保留影象背景的前提下,突現出影象中小的細節資訊但其缺點是對影象中的某些邊緣產生雙重響應。