《《數(shù)字圖像處理》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)字圖像處理》PPT課件(78頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、數(shù)字圖像處理,第七章 鄰域運算,CH7 鄰域運算,一、引言 二、平滑 三、中值濾波 四、邊緣檢測 五、細化 上機實習(xí),1 引言,1)鄰域運算 定義 輸出圖像中每個像素是由對應(yīng)的輸入像素及其一個鄰域內(nèi)的像素共同決定時的圖像運算。 通常鄰域是遠比圖像尺寸小的一規(guī)則形狀。如下面情況中,一個點的鄰域定義為以該點為中心的一個圓內(nèi)部或邊界上點的集合。,鄰域運算與點運算一起構(gòu)成最基本、最重要的圖像處理方法。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
2、,,,,,,,,點+的鄰域,點+的鄰域,,,,,,,,,,,1 引言,1 引言,舉例 進一步的表達,$進一步閱讀:Gonzalez, p91.,1 引言,2)相關(guān)與卷積 信號與系統(tǒng)分析中基本運算相關(guān)與卷積,在實際圖像處理中都表現(xiàn)為鄰域運算。 兩個連續(xù)函數(shù)f(x)和g(x)的相關(guān)記作: 兩個連續(xù)函數(shù)f(x)和g(x)的卷積定義為:,1 引言,3)模板(template,filter mask)的相關(guān)與卷積運算 給定圖像f(x,y)大小N*N,模板T(i,j)大小m*m(m為奇數(shù))。 常用的相關(guān)運算定義為:使模板中心T((m-1)/2,(m-1)/2) 與f(x,y)對應(yīng)。,演 示,1 引言,相關(guān)
3、運算,1 引言,卷積運算定義為:,1 引言,4)相關(guān)與卷積的物理含義 相關(guān)運算是將模板當權(quán)重矩陣作加權(quán)平均; 而卷積先沿縱軸翻轉(zhuǎn),再沿橫軸翻轉(zhuǎn)后再加權(quán)平均。 如果模板是對稱的,那么相關(guān)與卷積運算結(jié)果完全相同。 鄰域運算實際上就是卷積和相關(guān)運算,用信號分析的觀點就是濾波。,2 平滑,圖像平滑的目的 是消除或盡量減少噪聲的影響,改善圖像的質(zhì)量。 假設(shè) 在假定加性噪聲是隨機獨立分布的條件下,利用鄰域的平均或加權(quán)平均可以有效的抑制噪聲干擾。 從信號分析的觀點 圖像平滑本質(zhì)上低通濾波。將信號的低頻部分通過,而阻截高頻的噪聲信號。 問題 往往圖像邊緣也處于高頻部分。,2 平滑,1)鄰域平均(矩形鄰域和圓形
4、鄰域) 注意:大卷積模板可以加大濾波程度,但也會導(dǎo)致圖像細節(jié)的損失。,2 平滑,,有高斯噪聲的朱家角風(fēng)光,,無噪聲朱家角風(fēng)光,2 平滑,,通過T3鄰域平均后的朱家角風(fēng)光,通過T5鄰域平均后的朱家角風(fēng)光,2 平滑,2)高斯濾波(Gaussian Filters) 采用高斯函數(shù)作為加權(quán)函數(shù)。 原因一:二維高斯函數(shù)具有旋轉(zhuǎn)對稱性,保證濾波時各方向平滑程度相同; 原因二:離中心點越遠權(quán)值越小。確保邊緣細節(jié)不被模糊。,2 平滑,設(shè)計離散高斯濾波器的方法: 設(shè)定2和n,確定高斯模板權(quán)值。如2 =2和n=5:,2 平滑,整數(shù)化和歸一化后得:,2 平滑,,經(jīng)過高斯濾波后的朱家角風(fēng)光,通過T5鄰域平均后的朱
5、家角風(fēng)光,3 中值濾波,1)什么是中值濾波 與加權(quán)平均方式的平滑濾波不同,中值濾波用一個含有奇數(shù)點的滑動窗口,將鄰域中的像素按灰度級排序,取其中間值為輸出像素。 2)中值濾波的要素 中值濾波的效果取決于兩個要素:鄰域的空間范圍和中值計算中涉及的像素數(shù)。(當空間范圍較大時,一般只用某個稀疏矩陣做計算)。 3)中值濾波的優(yōu)點 中值濾波能夠在抑制隨機噪聲的同時不使邊緣模糊。但對于線、尖頂?shù)燃毠?jié)多的圖像不宜采用中值濾波。,3 中值濾波,例,有椒鹽噪聲的朱家角風(fēng)光,用3*3的濾波窗口對上圖做二維中值濾波,4 邊緣檢測,1)什么是邊緣檢測 邊緣是指圖像中灰度發(fā)生急劇變化的區(qū)域。圖像灰度的變化可以用圖像的梯
6、度反映。 邊緣檢測:求連續(xù)圖像f(x,y)梯度的局部最大值和方向。,$進一步閱讀:Gonzalez, p463.,4 邊緣檢測,4 邊緣檢測,梯度最大值及其方向,4 邊緣檢測,最簡單的梯度近似計算為:,4 邊緣檢測,2)梯度算子 在離散情況下常用梯度算子來檢測邊緣,給定圖像f(m,n)在兩個正交方向H1和H2上的梯度1(m,n)和2(m,n)如下: 則邊緣的強度和方向由下式給出:,4 邊緣檢測,3)常用邊緣檢測算子 Roberts算子: 其卷積模板分別是: Roberts算子特點是邊緣定位準,對噪聲敏感。,4 邊緣檢測,Prewitt算子:采用3x3模板。 Prewitt算子:平均、微分對
7、噪聲有抑制作用。,4 邊緣檢測,Sobel算子:與Prewitt算子類似,采用了加權(quán)。 Isotropic Sobel算子: Sobel算子在實際中最常用。 Sobel Roberts Gradient Prewitt,4 邊緣檢測,,4 邊緣檢測,,Lenna的Sobel邊界,思考一下:產(chǎn)生出這幅圖還需要什么中間步驟?,4 邊緣檢測,,Lenna的Prewitt邊界,4 邊緣檢測,,Lenna的Roberts邊界,4 邊緣檢測,4)邊緣檢測算法的基本步驟 (1)濾波。邊緣檢測主要基于導(dǎo)數(shù)計算,但受噪聲影響。但濾波器在降低噪聲的同時也導(dǎo)致邊緣強度的損失。 (2)增強。增強算法將鄰域中灰度有
8、顯著變化的點突出顯示。一般通過計算梯度幅值完成。 (3)檢測。但在有些圖像中梯度幅值較大的并不是邊緣點。最簡單的邊緣檢測是梯度幅值閾值判定。 (4)定位。精確確定邊緣的位置。,4 邊緣檢測,4 邊緣檢測,5)二階算子(拉普拉斯算子),直方圖法,梯度閾值法,二階過零點法,4 邊緣檢測,一階導(dǎo)數(shù)的局部最大值對應(yīng)著二階導(dǎo)數(shù)的零交叉點(Zero crossing)。這樣通過求圖像的二階導(dǎo)數(shù)的零交叉點就能找到精確邊緣點。 在二維空間,對應(yīng)二階導(dǎo)數(shù)算子有拉普拉斯算子。,4 邊緣檢測,是不依賴邊緣方向的二階微分算子,是一個標量而不是一個向量,具有旋轉(zhuǎn)不變性即各向同性的性質(zhì)。,4 邊緣檢測,用卷積模板表示為:
9、,注意:與梯度算子的不同, 只需要一個卷積模板,4 邊緣檢測,例:在下列圖像中,判斷一階差分梯度算子和Laplacian算子的區(qū)別。圖中處表示1,其他為0。 其中一階差分梯度算子采用,4 邊緣檢測,,4 邊緣檢測,A圖中對孤立的點,輸出的是一個擴大略帶模糊的點和線。 B圖和C圖中對線的端點和線,輸出的是加粗了的端點和線。 D中對階躍線,輸出的只有一條線。 對梯度運算,梯度算子的灰度保持不變。而對拉氏算子,孤立點增加4倍,端點增加3倍,線增加2倍,界線不變。 拉氏算子在實際應(yīng)用中對噪聲敏感。因此在實際中通常不直接使用。(請思考二階導(dǎo)數(shù)的定義?),4 邊緣檢測,6)過零點檢測:Marr算子(LoG
10、算法) (1)基本原理 A) 對有噪聲信號,先濾波 B) 再對g(x)求一階或二階導(dǎo)數(shù)以檢測邊緣點,4 邊緣檢測,因此下面兩步驟在數(shù)學(xué)上是等價的: 求圖像與濾波器的卷積,再求卷積的拉氏變換。 求濾波器的拉氏變換,再求與圖像的卷積。 C) 濾波器h(x)應(yīng)滿足以下條件,4 邊緣檢測,4 邊緣檢測,(2)Marr邊緣檢測算法 step1:平滑濾波器采用高斯濾波器; step2:邊緣增強用二階導(dǎo)數(shù)(二維拉普拉斯函數(shù)); step3:邊緣檢測判據(jù)是二階導(dǎo)數(shù)零交叉點; step4:采用線性插值的方法估計邊緣的位置。 因為采用Laplacian算子,故有LoG(Laplacian of Gaussian)
11、濾波器。,4 邊緣檢測,離散拉普拉斯高斯模板(5*5,delta=2),4 邊緣檢測,(3)為符合人類視覺生理,用DoG逼近,Difference of Gaussian,4 邊緣檢測,(4)Marr過零點檢測的優(yōu)缺點 過零點(Zero-crossing)的檢測所依賴的范圍與參數(shù)delta有關(guān),但邊緣位置與delta的選擇無關(guān),若只關(guān)心全局性的邊緣可以選取比較大的鄰域(如delta= 4 時,鄰域接近40個像素寬)來獲取明顯的邊緣。 過度平滑形狀,例如會丟失角點; 傾向產(chǎn)生環(huán)行邊緣。,為什么?請思考。,4 邊緣檢測,,Marr邊緣Delta=2,4 邊緣檢測,,Marr邊緣delta=4,4
12、邊緣檢測,7)Canny邊緣檢測最優(yōu)的階梯型邊緣檢測算法 (1)基本原理 圖像邊緣檢測必須滿足兩個條件:一能有效地抑制噪聲;二必須盡量精確確定邊緣的位置。 根據(jù)對信噪比與定位乘積進行測度,得到最優(yōu)化逼近算子。這就是Canny邊緣檢測算子。 類似與Marr(LoG)邊緣檢測方法,也屬于先平滑后求導(dǎo)數(shù)的方法。,(1) 弱邊緣也應(yīng)該有強響應(yīng);(2) 保證良好的定位;(3)一個邊緣只有一次檢測。,4 邊緣檢測,(2)Canny邊緣檢測算法 step1:用高斯濾波器平滑圖像; step2:用一階偏導(dǎo)的有限差分來計算梯度的幅值和方向; step3:對梯度幅值進行非極大值抑制; step4:用雙閾值算法檢測
13、和連接邊緣。 step1:高斯平滑函數(shù):,4 邊緣檢測,step2:一階差分卷積模板:,4 邊緣檢測,step3:非極大值抑制 僅僅得到全局的梯度并不足以確定邊緣,因此為確定邊緣,必須保留局部梯度最大的點,而抑制非極大值。(non-maxima suppression,NMS) 解決方法:利用梯度的方向。,4 邊緣檢測,四個扇區(qū)的標號為0到3,對應(yīng)3*3鄰域的四種可能組合。 在每一點上,鄰域的中心像素M與沿著梯度線的兩個像素相比。如果M的梯度值不比沿梯度線的兩個相鄰像素梯度值大,則令M=0。 即:,4 邊緣檢測,step4:閾值化 減少假邊緣段數(shù)量的典型方法是對Ni,j使用一個閾值。將低于閾值
14、的所有值賦零值。但問題是如何選取閾值? 解決方法:雙閾值算法。 在T1中收取邊緣,將T2中所有間隙連接起來。,4 邊緣檢測,,Canny邊緣 Tao=2,4 邊緣檢測,,Canny邊緣 Tao=4,4 邊緣檢測,邊緣檢測的小結(jié) 評價邊緣檢測器性能的測度 (1)假邊緣概率; (2)丟失邊緣概率; (3)邊緣方向角估計誤差; (4)邊緣估計值到真邊緣的距離平方均值; (5)畸變邊緣和其他諸如角點和結(jié)點的誤差范圍。,5 細化,1)什么是細化? 2)一些基本概念 3)細化的要求 4)細化算法,5 細化,1)什么是細化(thinning) 細化是一種二值圖像處理運算??梢园讯祱D像區(qū)域縮成線條,以逼近區(qū)
15、域的中心線。 細化的目的是減少圖像成分,只留下區(qū)域最基本的信息,以便進一步分析和處理。 細化一般用于文本分析預(yù)處理階段。,5 細化,,5 細化,2)基本概念 (1)近鄰 4鄰點(4-neighbors):如果兩個像素有公共邊界,則稱它們互為4鄰點。 8鄰點(8-neighbors):如果兩個像素至少共享一個頂角,則稱它們互為8鄰點。 (2)連通 一個像素與它的4鄰點是4連通(4-connected)關(guān)系; 一個像素與它的8鄰點是8連通(8-connected)關(guān)系;,5 細化,(3)路徑 從像素0到像素n的路徑是指一個像素序列,0,1,,k,,n,其中k與k+1像素互為鄰點。 如果鄰點關(guān)系是4
16、連通的,則是4路徑; 如果鄰點關(guān)系是8連通的,則是8路徑; (4)前景 圖像中值為1的全部像素的集合稱為前景(foreground),用S來表示。,5 細化,,5 細化,(5)連通性 已知像素 ,如果存在一條p到q的路徑,且路徑上全部像素都包含在S中,則稱p與q是連通的。 連通性具有:自反性、互換性和傳遞性。 (6)連通成分 一個像素集合,如果集合中每一個像素與其他像素連通,則稱該集合是連通成分(connected component)。 (7)簡單邊界點 S中的一個邊界點P,如果其鄰域中(不包括P點)只有一個連通成分,則P是簡單邊界點。,5 細化,判斷下圖中哪些是簡單邊界點?,5 細化
17、,3)細化要求 (1)連通區(qū)域必須細化成連通線結(jié)構(gòu); (2)細化結(jié)果至少是8連通的; (3)保留終止線的位置; (4)細化結(jié)果應(yīng)該近似于中軸線; (5)由細化引起的附加突刺應(yīng)該是最小的。,5 細化,4)細化算法 在至少3x3鄰域內(nèi)檢查圖像前景中的每一個像素,迭代削去簡單邊界點,直至區(qū)域被細化成一條線。 算法描述: 對于每一個像素,如果 A) 沒有上鄰點(下鄰點、左鄰點、右鄰點); B) 不是孤立點或孤立線; C) 去除該像素點不會斷開連通區(qū)域,則刪除該像素點; D) 重復(fù)這一步驟直到?jīng)]有像素點可以去除。,有條件限制,5 細化,每次細化分4步(不去除只有一個鄰點),具體過程如下: (1)八連通下
18、北向邊界點(n=0, p=1)可刪除條件 上式排除下面5種情況:,5 細化,(2)八連通下的南向邊界點(s=0, p=1)可刪除條件: (3)八連通下的西向邊界點(w=0, p=1)可刪除條件:,5 細化,(4)八連通下的東向邊界點(e=0, p=1)可刪除條件: 排除了下面5種情況:,要點小結(jié),1、鄰域運算、相關(guān)、卷積、濾波等概念以及相互關(guān)系。 2、平滑問題的描述,鄰域平均和高斯濾波的解決方法。 3、中值濾波與鄰域平均和高斯濾波的區(qū)別。 4、什么是邊緣檢測及基本步驟。 5、常用邊緣檢測算子和相互間區(qū)別。,要點小結(jié),6、邊緣檢測中的二階算子(拉普拉斯算子) 7、邊緣檢測的Marr算子:基本原
19、理、步驟和優(yōu)缺點 8、邊緣檢測的Canny算子:基本原理、步驟和主要算法思想 9、細化的概念、原理和算法。,習(xí)題,1、一幅8*8的圖像f(i,j)其灰度值由下列函數(shù)給出,用3*3中值濾波器作用于該圖像上,求輸出圖像。注意保持邊界像素灰度不變。 0 30 60 90 120 150 180 210 30 0 30 60 90 120 150 180 60 30 0 30 60 90 120 150 90 60 30 0 30 60 90 120 120 90 60 30 0 30 60 90 150 120 90 60 30 0 30 60 180 150 120 90 60
20、30 0 30 210 180 150 120 90 60 30 0,習(xí)題,,0 0 30 60 90 120 150 0 0 30 30 60 90 120 150 150 30 30 30 30 60 90 120 120 60 60 30 30 30 60 90 90 90 90 60 30 30 30 60 60 120 120 90 60 30 30 30 30 150 150 120 90 60 30 30 0 0 150 120 90 60 30 0 0,上機實習(xí)題,1、用MATLAB軟件產(chǎn)生一個被高斯噪聲污染的lenna圖像,使用T3、T5、高斯濾波、中值濾波進行處理,并觀察處理后圖像效果。 2、使用Sobel算子、Prewitt算子和Roberts算子進行l(wèi)enna圖像的邊緣檢測,對這幅圖像加上噪聲后重新進行邊緣檢測。觀察各算子的不同,以及邊緣是否在正確的位置。 3、在MATLAB中用edit edge命令,閱讀edge.m文件的源代碼,分析每一條語句的作用,并寫出程序流程圖。 4、用Matlab實現(xiàn)Marr邊緣檢測器,并作用于lenna圖像和lenna的噪聲圖像,比較Marr算子與Sobel算子的不同。 5、用繪圖軟件寫一個漢字(注意筆畫要粗),然后寫一個細化程序細化這個漢字。 6、實習(xí)四(必做)。作業(yè)截止日期 2010年5月14日。,