灰度图像--图像增强 锐化基础
目錄(?)[+]
學習DIP第33天
轉載請標明本文出處:http://blog.csdn.net/tonyshengtan,歡迎大家轉載,發現博客被某些論壇轉載后,圖像無法正常顯示,無法正常表達本人觀點,對此表示很不滿意。有些網站轉載了我的博文,很開心的是自己寫的東西被更多人看到了,但不開心的是這段話被去掉了,也沒標明轉載來源,雖然這并沒有版權保護,但感覺還是不太好,出于尊重文章作者的勞動,轉載請標明出處!!!!
文章代碼已托管,歡迎共同開發:https://github.com/Tony-Tan/DIPpro
開篇廢話
? ? ? ? 這篇作為基礎篇,所以廢話不多,但感覺很多人對銳化有誤解,尤其是和邊緣提取,其實這兩個概念完全是兩回事,當然有相關的地方,下面詳細說說自己的理解。
銳化的理解
? ? ? ?首先說說銳化,銳化是圖像增強的一部分,前面說過了,增強的目的是使觀察者看起來更容易識別某些模式,要觀察的模式從頻率域來分就有低頻模式和高頻模式,低頻模式,也就是之前一直在講的相對變化緩慢的部分,或者根本沒有灰度變化的大片區域,高頻部分,就是接下來講的,圖像的細節,細節的定義不知道是什么,但邊界,輪廓,一些變化強烈的部分算是細節,當然噪聲也被歸類到了細節,但細節的具體定義我還不知道,是否有相關算法能夠對細節進行定義,還不知道。銳化的目的就是在圖像中強調這些細節,而不是提取這些細節。也就是說對原圖中的細節進行一定的提升,使得圖像對于觀察者來說更容易識別或者看起來更舒服。 ? ? ? ?根據上面的解釋,我們就能得到圖像銳化的一般步驟:
? ? ? ?因為要突出細節,所以第一步就是找到細節,至于如何找到細節,岡薩雷斯書中給出了三種方法,一階微分,二階微分,非銳化掩蔽(unsharpen mask)。 ? ? ? ?突出細節的方法:將提取的細節,或細節乘以預定的系數后與原圖像相加(或相減)。這樣就得到了銳化后的圖像。
數學基礎
一階微分
? ? ? ? 因為圖像是離散信號,所以其一階微分并不像連續函數按照極限方式的定義,而且對數字函數的一階微分定義有不同理解,但所有的定義都滿足一下三點:
使用偏導數是為了與圖像函數對應,因為圖像函數是二維函數,顯然當函數只有一個變量的時候: 于是我們得到一階微分的基本定義是差值。
二階微分
? ? ? 對于二階微分,我們對上面式子關于x再次求導,得到二階導數表達式:
? ? ? ?上面第二行用到了一階微分的定義,所以得到了二階微分的表達式。 ? ? ? ?與一階微分類似,二階微分也必須保證下面幾點
? ? ? ?上面是一幅圖的一行數據,數據中包含了斜坡,孤立點,線條,和臺階,可以看到下面對應的原始數據,一階導數,二階導數,一階導數是原始數據的差,二階導數是一階導數的差。當然減數和被減數的順序可以從左到右也可以從右到左。 ? ? ? 可以對照上面的實際數據,證明必須要滿足的三點都成立。所以我們可以用此來定義一階和二階微分。 ? ? ? 上面數據中,我們可以看到在斜坡處,二階微分會出現一個零交叉,這對于邊界定位來說是非常有用的,因為在圖像中邊緣一般情況下是以斜坡方式存在,所以,一階微分給出的邊緣會相對較粗,二階微分給出較準確的位置,也正是因為這一點,二階微分比一階微分在銳化細節方面表現更好。
總結
? ? ? ?因為以上為純理論知識,所以今天做一個簡單的總結,相關的實驗和圖像處理結果會在后面的相關算法介紹中給出。
學習DIP第34天
轉載請標明本文出處:http://blog.csdn.net/tonyshengtan,歡迎大家轉載,發現博客被某些論壇轉載后,圖像無法正常顯示,無法正常表達本人觀點,對此表示很不滿意。有些網站轉載了我的博文,很開心的是自己寫的東西被更多人看到了,但不開心的是這段話被去掉了,也沒標明轉載來源,雖然這并沒有版權保護,但感覺還是不太好,出于尊重文章作者的勞動,轉載請標明出處!!!!
文章代碼已托管,歡迎共同開發:https://github.com/Tony-Tan/DIPpro
開篇廢話
? ? ?
? ? ? ?今天的廢話是,銳化和后面的分割有很大的關系,所以決定把圖像增強總結完以后開始說分割,分割中有很多又去的課題,比如邊緣提取,形狀識別等,具有挑戰性,圖像增強除了平滑和銳化還有灰度變換,但在很早以前已經寫過灰度變換的一些例子了,所以,后面只簡要的寫下原理,周一就可以開始研究分割了,每當結束一個大分支的時候總有一種踏上新的征途的感覺,但不得不承認,之前所學習的一切只是基礎知識,如果想深入的話可能要花費很長時間,尤其是圖像處理這么復雜的多學科領域,新技術日新月異,但只要打好基礎,一定會在以后從事的領域中大展拳腳,希望與因為愛好而從事圖像處理,計算機視覺的攻城獅們共同進步。
數學基礎
? ? ? ?拉普拉斯算子,二階微分線性算子,為什么上來就學二階微分算子,前文說過,與一階微分相比,二階微分的邊緣定位能力更強,銳化效果更好,所以我們來先學習二階微分算子,使用二階微分算子的基本方法是定義一種二階微分的離散形式,然后根據這個形式生成一個濾波模板,與圖像卷積。
? ? ? ?各向同性濾波器,圖像旋轉后響應不變,這就要求濾波模板自身是對稱的,如果不對稱,結果就是,當原圖旋轉90°時,原圖某一點能檢測出細節(突變)的,現在卻檢測不出來,這就是各向異性的原因。我們更關心的是各向同性濾波模板,對圖像的旋轉不敏感。
? ? ? ?對于二維圖像f(x,y),二階微分最簡單的定義--拉普拉斯算子定義為:
對于任意階微分算子都是線性算子,所以二階微分算子和后面的一階微分算子都可以用生成模板然后卷積的方式得出結果。
根據前面對二階微分的定義有:
根據上面的定義,與拉普拉斯算子的定義相結合,得到:
也就是一個點的拉普拉斯的算子計算結果是上下左右的灰度的和減去本身灰度的四倍。同樣,可以根據二階微分的不同定義,所有符號相反,也就是上式所有灰度值全加上負號,就是-1,-1,-1,-1,4。但要注意,符號改變,銳化的時候與原圖的加或減應當相對變化。上面是四鄰接的拉普拉斯算子,將這個算子旋轉45°后與原算子相加,就變成八鄰域的算子了,也就是一個像素周圍一圈8個像素的和與中間像素8倍的差,作為拉普拉斯計算結果。
? ? ? ?因為要強調圖像中突變(細節),所以平滑灰度的區域,無響應,即模板系數的和為0,也是二階微分必備條件。
? ? ? ?最后的銳化公式:
? ? ? g是輸出,f為原始圖像,c是系數,也就是要加上多少細節的多少,與上一篇的銳化過程是一致的,先提取細節,然后再加(或者減去負細節)到原圖中。
? ? ? ?得到濾波模板,此模板尺寸恒定,就是3x3,不像平滑模板,尺寸可變:
代碼
[cpp] view plaincopyprint?
結果
? ? ? ?來看對一副月球圖片的銳化效果,分別使用四種模板,其結果是四鄰接的兩個模板結果相同,八鄰接的結果相同,觀察兩個不同的系數,分別c=0.5和c=0.8,具體系數已經標注在圖片上了:
原圖:
原圖灰度圖像:
細節提取:
銳化圖像:
總結
? ? 總結就是,二階微分拉普拉斯算子對圖像的銳化效果很不錯,但對噪聲敏感,后面介紹非銳化掩蔽,和一階微分算子 ?? 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的灰度图像--图像增强 锐化基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用立异,声东击西——贵阳Flex创客团队
- 下一篇: 灰度图像--图像增强 非锐化掩蔽 (Un