【數字圖像處理】輪廓提取與內邊界跟蹤算法


 

輪廓提取

輪廓提取:對於一副二值化圖像,物體與背景分開,如果背景是白物體,物體為黑的話,我們可以采用掏空內部點法進行輪廓提取。
具體算法如下:
首先開辟新的內存空間,然后遍歷圖像,如果8個鄰域像素都和中心點不相同,則對新的內存空間的該點進行置值。
這里原圖背景是白,物體為黑的,新的內存空間全部置為白,對原圖像的每點進行判斷,如果8個鄰域像素都和中心點不相同,則將內存緩沖區中的該點置為黑。

 

 

 

邊界跟蹤算法 

基於邊緣的分割常用方法之一,用於區域已分出(二值或已標注),但邊界未知的情況。

首先在圖像中找到一個邊界點,然后從這個邊界點出發,按照某種策略尋找下一個邊界點,以此跟蹤出目標邊界。
對於邊界跟蹤法,重要的是三個部分,邊界的起始點搜索規則(邊界判別准則)搜索終止條件

  • 起始點:確定邊界的起始搜索點,起始點的選擇很關鍵,對某些圖像,選擇不同的起始點會導致不同的結果。
  • 搜索規則(邊界判別准則):確定合適的邊界判別准則和搜索准則,判別准則用於判斷一個點是不是邊界點,搜索准則則指導如何搜索下個邊緣點。
  • 搜索終止條件:確定搜索的終止條件。

這里搜索終止條件對於封閉輪廓和非封閉輪廓有不同的處理:

封閉輪廓:
  直至跟蹤的后續點回到起始點。
非封閉輪廓:

  待續。。。

我們這里對封閉輪廓的跟蹤算法進行討論,具體算法如下:

1.找到起始點,記錄該點

2.初始跟蹤方向為左上方0方向

3.判斷該點是否為目標點,是則把該置為新的跟蹤的起始點

4.將找到該點目標點的方向逆時針旋轉90度,作為新的跟蹤方向,繼續檢測新的跟蹤方向上的點

5.若不是目標點,則沿順時針旋轉45度,一直找到目標點

6.找到目標點后,在當前跟蹤方向的基礎上,逆時針旋轉90度作為新的跟蹤方向,用同樣的方法跟蹤下一個邊界點

7.直到回到起始點

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM