連通區域分析是壹種在CV和圖像分析處理的眾多應用領域中較為常用和基本的方法。
例如:OCR識別中字符分割提取(車牌識別、文本識別、字幕識別等)、視覺跟蹤中的運動前景目標分割與提取(行人入侵檢測、遺留物體檢測、基於視覺的車輛檢測與跟蹤等)、醫學圖像處理(感興趣目標區域提取)等。
在需要將前景目標提取出來以便後續進行處理的應用場景中都能夠用到連通區域分析方法,通常連通區域分析處理的對象是壹張二值化後的圖像。
在圖像中,最小的單位是像素,每個像素周圍有鄰接像素,常見的鄰接關系有2種:4鄰接與8鄰接。
如果A與B連通,B與C連通,則A與C連通,在視覺上看來,彼此連通的點形成了壹個區域,而不連通的點形成了不同的區域。這樣的壹個所有的點彼此連通點構成的集合,我們稱為壹個連通區域。
兩遍掃描法( Two-Pass ),正如其名,指的就是通過掃描兩遍圖像,將圖像中存在的所有連通域找出並標記。
第壹次掃描:
?從左上角開始遍歷像素點,找到第壹個像素為255的點,label=1;
?當該像素的左鄰像素和上鄰像素為無效值時,給該像素置壹個新的label值,label ++,記錄集合;
?當該像素的左鄰像素或者上鄰像素有壹個為有效值時,將有效值像素的label賦給該像素的label值;
?當該像素的左鄰像素和上鄰像素都為有效值時,選取其中較小的label值賦給該像素的label值
第二次掃描:
?對每個點的label進行更新,更新為其對於其集合中最小的label
步驟
1、加載原始圖像
2、閾值分割,將圖像分割為黑白兩個部分
3、對圖像進行開運算,即先腐蝕在膨脹
4、對開運算的結果再進行 膨脹,得到大部分是背景的區域
5、通過距離變換 Distance Transform 獲取前景區域
6、背景區域sure_bg 和前景區域sure_fg相減,得到即有前景又有背景的重合區域
7、連通區域處理
8、最後使用分水嶺算法