数字图像处理:第七章 邻域运算
第七章 鄰域運算
目錄
相關與卷積
作業
1.引言
鄰域運算是指當輸出圖象中每個象素是由對應的輸入象素及其一個鄰域內的象素共同決定時的圖象運算,通常鄰域是遠比圖象尺寸小的一規則形狀,如正方形2x2、3x3、4x4或用來近似表示圓及橢圓等形狀的多邊形。信號與系統分析中的基本運算相關與卷積,在實際的圖象處理中都表現為鄰域運算。鄰域運算與點運算一起形成了最基本、最重要的圖象處理工具。
以圍繞模板(filter mask, template)的相關與卷積運算為例,給定圖象f(x,y)大小N×N,模板T(i, j)大小m×m(m為奇數),常用的相關運算定義為: 使模板中心T((m-1)/2,(m-1)/2)與f(x,y)對應,
當m=3時,
卷積運算定義為:
當m=3時,
可見,相關運算是將模板當權重矩陣作加權平均,而卷積與相關不同的只是在于需要將模板沿中心反疊后再加權平均。如果模板是對稱的,那么相關與卷積運算結果完全相同。實際上常用的模板如平滑模板、邊緣檢測模板等都是對稱的,因而這種鄰域運算實際上就是卷積運算,用信號系統分析的觀點來說,就是濾波,對應于平滑濾波或稱低通濾波、高通濾波等情況。
2.平滑
圖象平滑的目的是消除或盡量減少噪聲的影響,改善圖象質量。在假定加性噪聲是隨機獨立分布的條件下,利用鄰域的平均或加權平均可以有效地抑制噪聲干擾。圖象平滑實際上是低通濾波,讓主要是信號的低頻部分通過,阻截屬于高頻部分的噪聲信號。顯然,在減少隨機噪聲點影響的同時,由于圖象邊緣部分也處在高頻部分,平滑過程將會導致邊緣模糊化。
(1)鄰域平均(矩形鄰域和圓形鄰域)
(2)高斯濾波(Gaussian Filters)
高斯函數即正態分布函數常用作加權函數,二維高斯函數如下:
當時,;時,
一般用小于的濾波器,即
當時,
由連續Gaussian分布求離散模板,需采樣、量化,并使模板歸一化。
Lenna with noise
After Gaussian Filter with =1
After Gaussian Filter with =3
高斯濾波的matlab代碼:Gaussianfilter code of matlab(..\..\download_IPCVPR\CS585Image and Video Computing Home Page.files\gaussian filter code of matlab.htm)
高斯濾波的演示資料參見Canny Edge Detector Demos (..\..\download_IPCVPR\CS585 Image and VideoComputing Home Page.files\canny edge detector demo.htm)
3.中值濾波
與加權平均方式的平滑濾波不同,中值濾波是將鄰域中的象素按灰度級排序,取其中間值為輸出象素。中值濾波的效果依賴于兩個要素:鄰域的空間范圍和中值計算中涉及的象素數(當空間范圍較大時,一般只取若干稀疏分布的象素作中值計算)。中值濾波能夠在抑制隨機噪聲的同時不使邊緣模糊,因而受到歡迎。
網上資料:平滑(..\..\download_IPCVPR\IPFundamentals\SmoothingOperations.htm)http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip-Smoothin.html
4.邊緣檢測
邊緣是指圖象中灰度發生急劇變化的區域。圖象灰度的變化情況可以用灰度分布的梯度來反映,給定連續圖象f(x,y),其方向導數在邊緣法線方向上取得局部最大值。
邊緣檢測:求f(x,y)梯度的局部最大值和方向
f(x,y)在θ方向沿r的梯度
的最大值條件是
,or
梯度最大值
或為了減少計算量而用
在離散情況下常用梯度算子來檢測邊緣,給定圖象U(m,n)在兩個正交方向H1、H2上的梯度和如下:
則邊緣的強度和方向由下式給出:
| ? | |
| ? |
常用邊緣檢測算子
| 算子名 | 特點 | ||
| Roberts | 邊緣定位準,對噪聲敏感 | ||
| Prewitt | 平均、微分對噪聲有抑制作用 | ||
| Sobel | 加權平均邊寬2象素 | ||
| Isotropic Sobel | 權值反比于鄰點與中心點的距離,檢測沿不同方向邊緣時梯度幅度一致 |
演示:..\SourceProgramCodes\chapter9\武勃981403\Debug\ViewDIB.exe
Lena
Prewitt edge
Sobel edge
有時為了檢測特定方向上的邊緣,也采用特殊的方向算子,如檢測450或1350邊緣的Sobel方向算子:
網上資料:微分算子(..\..\download_IPCVPR\IPFundamentals\Derivative-basedOperations.htm)http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip-Derivati.html
?
考慮坐標旋轉變換,設旋轉前坐標為,旋轉后為,則有:
,?
容易看出,雖然,不是各向同性的,但是它們的平方和是各向同性的。
即?
?
且二階微分的和也是各向同性的
定義Laplacian算子為?
Laplacian是各向同性(isotropic)的微分算子。
離散情況下,有幾種不同的模板計算形式:
補充內容:過零點檢測(Marr-Hildreth算子)
根據圖象邊緣處的一階微分(梯度)應該是極值點的事實,圖象邊緣處的二階微分應為零,確定過零點的位置要比確定極值點容易得多也比較精確。但是顯然二階微分對噪聲更為敏感。
為抑制噪聲,可先作平滑濾波然后再作二次微分,通常采用高斯函數作平滑濾波,故有LoG(Laplacian ofGaussian)算子。在實現時一般用兩個不同參數的高斯函數的差DoG(Difference of Gaussians)對圖象作卷積來近似,這樣檢測出來的邊緣點稱為f(x,y)的過零點(Zero-crossing)。
過零點的理論是Marr,Hildreth提出來的,是計算視覺理論中的有關早期視覺的重要內容。
,
與前面的微分算子僅采用很小的鄰域來檢測邊緣不同,過零點(Zero-crossing)的檢測所依賴的范圍與參數有關,但邊緣位置與的選擇無關,若只關心全局性的邊緣可以選取比較大的鄰域(如= 4 時,鄰域接近40個象素寬)來獲取明顯的邊緣。過零點檢測更可靠,不易受噪聲影響,但缺點是對形狀作了過分的平滑,例如,會丟失明顯的角點;還有產生環行邊緣的傾向。
Disadvantages of zero-crossing:
- smoothes the shape too much; for example sharp corners are lost
- tends to create closed loops of edges
網上資料:DIP ofMilan Sonka, Image Pre-processing: Local pre-processing(Zero-crossing,Canny Edge)(..\..\download_IPCVPR\DIP of Milan Sonka\edgeextraction.htm)
補充內容1:最優的階梯型邊緣(step edge)檢測算法---Canny邊緣檢測方法
在如下的三個標準意義下,Canny邊緣檢測算子對受白噪聲影響的階躍型邊緣是最優的:
(a)檢測標準 … 不丟失重要的邊緣,不應有虛假的邊緣;
(b)定位標準 … 實際邊緣與檢測到的邊緣位置之間的偏差最小;
(c)單響應標準 … 將多個響應降低為單個邊緣響應。
Canny 邊緣檢測算子是基于如下的幾個概念:
?
(a)邊緣檢測算子是針對1D信號表達的,對前兩個標準最優,即檢測標準和定位標準;
(b)如果考慮第三個標準(多個響應),需要通過數值優化的辦法得到最優解。該最優濾波器可以有效地近似為標準差為σ的高斯平滑濾波器的一階微分,其誤差小于20%,這是為了便于實現。這與LoG邊緣檢測算子很相似。
(c)將邊緣檢測算子推廣到兩維情況。階躍邊緣由位置、方向和可能的幅度(強度)來確定。
詳細內容,參見英文原文:
- detection criterion ... important edges should not be missed, there should be no spurious responses
- localization criterion ... distance between the actual and located position of the edge should be minimal
- one response criterion ... minimizes multiple responses to a single edge (also partly covered by the first criterion since when there are two responses to a single edge one of them should be considered as false)
Cannyedge
Matlabcode of Canny edge extraction(..\SourceProgramCodes\chapter7&8\CannyEdgeMatlabCode\EdgeByCanny.m)
詳細參見:
CannyEdge Detector demo(..\..\download_IPCVPR\CS585 Imageand Video Computing Home Page.files\canny edge detector demo.htm)
Cannyedge detection(..\..\download_IPCVPR\DIP of MilanSonka\edgeextraction.files\PreProcessing3.htm) http://www.icaen.uiowa.edu/~dip/LECTURE/PreProcessing3.html#canny
Canny Edge 的參考文獻:Milan Sonka,Vaclav Hlavac, and Roger Boyle, Image processing, analysis, and machine vision, Chapman & Hall Computing, London,1993.
補充內容2:SUSAN( Smallest Univalue SegmentAssimilating(吸收)Nucleus
)邊緣檢測方法
基本原理:
以半徑為3.4個象素的圓形區域(覆蓋37個象素位置)為掩模,考察圖象中每個點在該區域范圍內的所有點的象素值與當前點的值的一致程度:
?
?
?
g:? geometricthreshold, which can be set to 3/4nmax;?n(r0) represents USAN area
| ? | |
| ? |
USAN面積越小,邊緣強度越大。
?
a. 原來用的相似度函數;b. 現在用的比較穩定的相似度函數,本例中象素值差別閾值設為±27;c. 邊界檢測子(比較結果的輸出)
?
| ? | |
| ? |
?
| ? | |
| ? |
| ? | |
| ? |
| ? | |
| ? |
詳細參見:..\Readings\chapter07\SUSAN\Smith_01.pdf
5.細化
[原則] S為代表形狀區域的象素的集合,細化就是要在保持連通性且不減小形狀長度的條件下消去S中那些不是端點的簡單邊界點,過程是按S的上(北)、下(南)、左(西)、右(東)四個方向順序,反復進行掃描以消去可刪除簡單邊界點,直到不存在可以消去的簡單邊界點為止。
[定義] 簡單邊界點:(Simple border points)S中的一個邊界點P,如果其鄰域中屬于S的點只有一個與其相鄰接的連通分量,則P為S的簡單邊界點。
例如,在8連通鄰域意義下,P點是否簡單邊界點的情況:
| a.不是 | b.是 | c.是 | d.是 | e.不是 | ||||||||||
| 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | P | 1 | 0 | P | 1 | 0 | P | 1 | 0 | P | 0 | 0 | P | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | |
[算法1] 每次細化需4次掃描,在不刪除端點(只有一個鄰點)的條件下,按如下條件進行:
| nw | n | ne |
| w | p | e |
| sw | s | se |
上式排除了如下的不可刪除北向邊界點類型:
| 0 | 1 | 0 | 0 | 1 | 0 | 0 | ||||
| 1 | P | 1 | 0 | P | P | 0 | P | 0 | 0 | P |
| 0 | 0 | 1 | 1 | 0 |
上式排除了如下的不可刪除南向邊界點類型:
| 0 | 0 | 1 | 1 | 0 | ||||||
| 1 | P | 1 | 0 | P | P | 0 | P | 0 | 0 | P |
| 0 | 1 | 0 | 0 | 1 | 0 | 0 |
上式排除了如下的不可刪除西向邊界點類型:
| 1 | 1 | 0 | 0 | 1 | ||||||||
| 0 | P | 0 | 0 | P | 0 | P | 0 | P | 0 | 0 | P | 0 |
| 1 | 1 | 0 | 0 | 1 |
上式排除了如下的不可刪除東向邊界點類型:
| 1 | 0 | 1 | 1 | 0 | ||||||||
| 0 | P | 0 | P | 0 | P | 0 | 0 | P | 0 | 0 | P | 0 |
| 1 | 0 | 1 | 1 | 0 |
[算法2] E.S. Deutsch提出一種簡單的細化算法(參見周冠雄,計算機模式識別--統計方法,pp.173,華中工學院出版社,1986。),描述如下:
記象素P的8鄰域點的二值(0,1)化灰度值為fI(i=0,1,2,…,7),其對應位置如下所示:
| 3 | 2 | 1 |
| 4 | P | 0 |
| 5 | 6 | 7 |
Binary Sobel edge
Thinningby E.S.Deutsch
作業
返回主目錄 返回本章目錄
清華大學計算機系 艾海舟
最近修改時間:2001年7月18日
出處:http://media.cs.tsinghua.edu.cn/~ahz/digitalimageprocess/CourseImageProcess.html
總結
以上是生活随笔為你收集整理的数字图像处理:第七章 邻域运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字图像处理:第六章 几何运算
- 下一篇: 数字图像处理:第八章 形态学运算