區域生長算法是一種影像分割技術。基本思想將以一定判別依據,將具有相似准則的像素合並起來構成區域。主要步驟是對每個需要分割的區域找出一個種子像素作為生長起點(通俗一點就是找一個像素來作為參考,用於判斷其他像素與參考像素之間是否具有聯系),然后根據一定的判別准則,將種子像素周圍相似的像素進行判別,相似性較高的像素進行合並,如此就像種子一樣發芽生長。
種子區域生長(region seeds growing, RSG)算法在實踐中關鍵的問題是種子的選取和相似區域判定准則的確定。種子的選擇可以人工選擇,也可以通過一些方法自動選取;灰度圖的判定准則一般用灰度差值小於某個閾值來表示,不同的判定准則可能會產生不同的分割結果。
區域生長算法的實現步驟如下:
1. 隨機或者對圖像進行掃描,找到第一個還沒有賦予屬性的像素, 設該像素為(x0, y0);
2. 以(x0, y0)為中心, 考慮(x0, y0)的4鄰域或者8鄰域像素(x,y)與種子像素的灰度值之差的絕對值小於某個閾值T,如果滿足條件, 將(x, y)與(x0, y0)合並(在同一區域內), 同時將(x, y)壓入堆棧;
3. 從堆棧中取出一個像素, 把它當作(x0, y0)返回到步驟2;
4. 當堆棧為空時!返回到步驟1;
5. 重復步驟1 - 4直到圖像中的每個點都有歸屬時。生長結束。