資源描述:
《邊緣跟蹤邊緣檢測(cè)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、邊緣跟蹤邊緣檢測(cè)(2009-05-2717:40:24)轉(zhuǎn)載標(biāo)簽:雜談假定我們從一個(gè)梯度幅值圖像著手進(jìn)行處理,這個(gè)圖像是從一幅處于和物體具有反差的背景中的單一物體的圖像進(jìn)行計(jì)算得來(lái)的。因?yàn)榛叶燃?jí)最高的點(diǎn)(即在原始圖像中梯度值最高的點(diǎn))必然在邊界上,所以我們可以把這一點(diǎn)作為邊界跟蹤過(guò)程的起始點(diǎn)。如果有幾個(gè)點(diǎn)都具有最高灰度級(jí),我們可以任選一個(gè)。接著,搜索以邊界起始點(diǎn)為中心的鄰域,找出具有最大灰度級(jí)的鄰域點(diǎn)作為第2個(gè)邊界點(diǎn)。如果有兩個(gè)鄰域點(diǎn)具有相同的最大灰度級(jí),就任選一個(gè)。從這一點(diǎn)開(kāi)始,我們起動(dòng)了一個(gè)在給定當(dāng)前和前
2、一個(gè)邊界點(diǎn)的條件下尋找下一個(gè)邊界點(diǎn)的迭代過(guò)程。在以當(dāng)前邊界點(diǎn)為中心的鄰域內(nèi),我們考察前一個(gè)邊界點(diǎn)位置相對(duì)的鄰點(diǎn)和這個(gè)鄰點(diǎn)兩旁的兩個(gè)點(diǎn)(圖8-4-1)。下一個(gè)邊界點(diǎn)就是上述三點(diǎn)中具有最高灰度級(jí)的那個(gè)點(diǎn)。如果所有三個(gè)或兩個(gè)相鄰邊界點(diǎn)具有同樣的最高灰度級(jí),我們就選擇中間的那個(gè)點(diǎn)。如果兩個(gè)非鄰接點(diǎn)具有同樣的最高灰度級(jí),我們可以任選其一。在一個(gè)無(wú)噪聲的單調(diào)點(diǎn)狀物圖像中,這個(gè)算法將描畫(huà)出最大梯度邊界;但是,即使少量的噪聲也可能使跟蹤暫時(shí)或永遠(yuǎn)偏離邊界、噪聲的影響可以通過(guò)跟蹤前對(duì)梯度圖像進(jìn)行平滑或采用“跟蹤蟲(chóng)”(track
3、ingbug)的方法來(lái)降低。即使這樣,邊界跟蹤也不能保證產(chǎn)生閉合的邊界,并且算法也可能失控并走到圖像邊界外面。跟蹤蟲(chóng)是一種按下述方式工作的算法“昆蟲(chóng)”。首先我們定義一個(gè)矩形平均窗n(“蟲(chóng)”),通常整個(gè)窗口具有相同的權(quán)值(圖8-4-1)。最近兩個(gè)或幾個(gè)邊界點(diǎn)定義了當(dāng)前的邊界方向。蟲(chóng)的背部則以當(dāng)前邊界為中心,以當(dāng)前的邊界方向?yàn)檩S。隨后跟蹤蟲(chóng)可向任一邊轉(zhuǎn)一個(gè)角。圖8-4-1邊界跟蹤圖8-4-2邊界跟蹤蟲(chóng)在蟲(chóng)的每一個(gè)位置,對(duì)蟲(chóng)覆蓋的區(qū)域的平均梯度進(jìn)行計(jì)算。當(dāng)蟲(chóng)位于最高平均梯度位置時(shí),可以從蟲(chóng)的前部選擇一個(gè)點(diǎn)作為下一個(gè)
4、邊界點(diǎn)。顯然,跟蹤蟲(chóng)是在一個(gè)更大的空間執(zhí)行先前描述過(guò)的邊界跟蹤過(guò)程、大尺寸的跟蹤蟲(chóng)可以完成梯度圖像的平滑,從而降低了它對(duì)噪聲的敏感化它也限制了邊界方向的急劇改變。蟲(chóng)的大小和形狀也可以改變以求達(dá)到最佳性能??赏ㄟ^(guò)減小旁視角增大蟲(chóng)的“慣性”。實(shí)際上,蟲(chóng)的確切形狀對(duì)其性能影響似乎并不明顯。梯度跟蹤蟲(chóng)通常在噪聲很低的圖像或人工干預(yù)能防止災(zāi)難性的偏差的情況下才有用。二、梯度圖像閾值化如果用適中的閾值對(duì)一幅梯度圖像進(jìn)行二值化,那么,我們將發(fā)現(xiàn)物體和背景內(nèi)部的點(diǎn)低于閾值而大多數(shù)邊緣點(diǎn)高于它。Kirsch的分割法利用了這種現(xiàn)
5、象。這種技術(shù)首先用一個(gè)中偏低的灰度閾值對(duì)梯度圖像進(jìn)行二值化從而檢測(cè)出物體和背景,物體與背景被處于閾值之上的邊界點(diǎn)帶分開(kāi)。隨著閾值逐漸提高,就引起物體和背景的同時(shí)增長(zhǎng)。當(dāng)它們接觸上而又不至于合并時(shí),可用接觸點(diǎn)來(lái)定義邊界。這是分水嶺算法在梯度圖像中的應(yīng)用。圖8-4-3Kirsch的分割算法雖然KirsCh方法比二值化的計(jì)算開(kāi)銷(xiāo)大,但它可以產(chǎn)生最大梯度邊界,并且避免了使用只有梯度跟蹤蟲(chóng)時(shí)存在的許多麻煩。對(duì)包含多個(gè)物體的圖像來(lái)說(shuō),在初始二值化步驟中分割正確的情況下,才能保證該分割的正確。預(yù)先對(duì)梯度圖像進(jìn)行平滑會(huì)產(chǎn)生較
6、平滑的邊界。三、拉普拉斯邊緣檢測(cè)拉普拉斯算子是對(duì)二維函數(shù)進(jìn)行運(yùn)算的二階導(dǎo)數(shù)標(biāo)量算子。它定義為它通??梢砸詳?shù)字化方式用圖8-4-4中所示的卷積核之一來(lái)實(shí)現(xiàn)圖8-4-4拉普拉斯卷積核由于拉普拉斯算子是一個(gè)二階導(dǎo)致,它將在邊緣處產(chǎn)生一個(gè)陡峭的零交叉。拉普拉斯算子是一個(gè)線性的、移不變算子,它的傳遞函數(shù)在頻域空間的原點(diǎn)為零。因此,一個(gè)經(jīng)拉普拉斯濾波過(guò)的圖像具有零平均灰度。如果一個(gè)無(wú)噪聲圖像具有陡峭的邊緣,可用拉普拉斯算子將它們找出來(lái)。對(duì)經(jīng)拉普拉斯算子濾波后的圖像用零灰度值進(jìn)行二值化會(huì)產(chǎn)生閉合的、連通的輪廓并消除了所有的
7、內(nèi)部點(diǎn)。但是由于噪聲的存在,在運(yùn)用拉普拉斯算子之前需要先進(jìn)行低通濾波.選用高斯低通濾波器進(jìn)行預(yù)先平滑是很合適的。由卷積的結(jié)合律可以將拉普拉斯算子和高斯脈沖響應(yīng)組合成一個(gè)單一的高斯拉普拉斯核:這個(gè)脈沖響應(yīng)對(duì)和是可分離的,因此可以有效地加以實(shí)現(xiàn)。它與第十一章中的討論過(guò)的一般的帶通濾波器的脈沖響應(yīng)具有相同的形狀,即一個(gè)負(fù)的凹谷中有一正向尖峰。參數(shù)控制該中心峰的寬度,因此也控制了平滑的程度。圖8-4-5高斯拉普拉斯卷積邊緣檢測(cè)????????????確定圖像中的物體邊界的另一種方法是檢測(cè)每個(gè)像素和其直接鄰域的狀態(tài),以
8、決定該像素是否確實(shí)處于一個(gè)物體的邊界上。具有所需樣收的像素被標(biāo)為邊緣點(diǎn)、當(dāng)圖像中各個(gè)像素的灰度級(jí)用來(lái)反映各像素符合邊緣像素要求的程度時(shí),這種圖像被稱(chēng)為邊緣圖像或邊緣圖。它也可以用僅表示了邊緣點(diǎn)的位置而沒(méi)有強(qiáng)弱程度的二值圖像來(lái)表示對(duì)邊緣方向而不是(或附加于)幅度進(jìn)行編碼的圖像叫做含方向邊緣圖。一幅邊緣圖通常用邊緣點(diǎn)勾畫(huà)出各個(gè)物體的輪廓,但很少能形成圖像分割所需要的閉合且連通的邊界。因此需要另一個(gè)步驟才