區域生長演算法

2021-09-29 22:01:02 字數 1086 閱讀 4237

把影象進行分割為多個區域。

方案1,尋找灰度級不連續區域間的邊界

方案2,基於畫素性質分布的閾值處理

方案3,直接尋找區域的分割技術

區域生長就是方案三,它是根據事先定義的準則將畫素或者子區域聚合成更大區域的過程。其基本思想是從一組生長點開始(生長點可以是單個畫素,也可以是某個小區域),將與該生長點性質相似的相鄰畫素或者區域與生長點合併。然後將這些新畫素當作新的生長點,繼續上面的操作,一直重複此過程,直到沒有滿足條件的畫素可被包括進來,此時就表示生長點已經不能生長,這樣乙個區域就生長成了。生長點和相似區域的相似性判斷依據可以是灰度值、紋理、顏色等影象資訊。所以區域生長演算法關鍵有三個:

1、選擇合適的生長點

2、確定相似性準則即生長準則

3、確定生長停止條件

下面給出乙個區域生長的例項:

圖(a)為原始影象,數字表示畫素的灰度。以灰度值為8的畫素為初始的生長點,記為f(i,j)。在8鄰域內,生長準則是待測點灰度值與生長點灰度值相差為1或0。

那麼圖(b)是第一次區域生長後,f(i-1,j)、f(i,j-1)、f(i,j+1)和生長點灰度值相差都是1,因而被合併。

圖(c)是第二次生長後,f(i+1,j)被合併。圖(d)為第三次生長後,f(i+1,j-1)、f(i+2,j)被合併,至此,已經不存在滿足生長準則的畫素點,生長停止

區域生長實現的步驟如下:

1. 對影象順序掃瞄,找到第1個還沒有歸屬的畫素, 設該畫素為(x0, y0);

2. 以(x0, y0)為中心, 考慮(x0, y0)的4鄰域畫素(x, y)如果(x0, y0)滿足生長準則, 將(x, y)與(x0, y0)合併(在同一區域內), 同時將(x, y)壓入堆疊;

3. 從堆疊中取出乙個畫素, 把它當作(x0, y0)返回到步驟2;

4. 當堆疊為空時,返回到步驟1;

5. 重複步驟1 - 4直到影象中的每個點都有歸屬時。生長結束。

參考

區域生長演算法

區域生長演算法 既是根據事先定義的準則將畫素或者子區域聚合成更大的區域。基本方法是以 一組 種子開始,將與種子性質相似 灰度級或顏色的特定範圍 的相鄰畫素附加到生長區域的種子上。halcon中的區域生長運算元 區域生長演算法,將圖象被分割為區域 regiongrowing image regions...

區域生長法

區域生長的基本思想是將具有相似性質的畫素集合起來構成區域。具體先對每個需要分割的區域找乙個種子畫素作為生長的起點,然後將種子畫素周圍鄰域中與種子畫素具有相同或相似性質的畫素 根據某種事先確定的生長或相似準則來判定 合併到種子畫素所在的區域中。將這些新畫素當做新的種子畫素繼續進行上面的過程,直到再沒有...

opencv區域生長 區域擴散

區域生長 就是以某個畫素值進行擴散,查詢顏色相近的範圍區域。1.固定灰度值區域生長 固定灰度值區域生長 cv mat regiongrow cv mat src,cv point2i pt,int th std vectorvcgrowpt 生長點棧 vcgrowpt.push back pt 將生...