連通區域演算法
A. 將一張圖二值化後,有很多連通區域,我想分別求出每一塊連通區域的面積,不知道有什麼好一點的演算法
圖像處理里有一種叫做Labeling處理的演算法。
可以把二值圖劃分區域,標出不同的區域編號。
只要計算每種編號的個數,就是對應區域的面積了。
如果沒看懂,不是演算法難,是我表達的不好。哈。
B. dbscan演算法是什麼
DBSCAN基於高密度連通區域的、基於密度的聚類演算法,能夠將具有足夠高密度的區域劃分為簇,並在具有雜訊的數據中發現任意形狀的簇。我們總結一下DBSCAN聚類演算法原理的基本要點:
DBSCAN演算法需要選擇一種距離度量,對於待聚類的數據集中,任意兩個點之間的距離,反映了點之間的密度,說明了點與點是否能夠聚到同一類中。由於DBSCAN演算法對高維數據定義密度很困難,所以對於二維空間中的點,可以使用歐幾里德距離來進行度量。
(2)連通區域演算法擴展閱讀:
dbscan個聚類以便使得所獲得的聚類滿足:同一聚類中的對象相似度較高;而不同聚類中的對象相似度較小。聚類相似度是利用各聚類中對象的均值所獲得一個「中心對象」(引力中心)來進行計算的。
(1)適當選擇c個類的初始中心;
(2)在第k次迭代中,對任意一個樣本,求其到c個中心的距離,將該樣本歸到距離最短的中心所在的類;
(3)利用均值等方法更新該類的中心值;
(4)對於所有的c個聚類中心,如果利用(2)(3)的迭代法更新後,值保持不變,則迭代結束,否則繼續迭代。
C. 連通區域
連通區域(Connected Component)一般是指圖像中具有相同像素值且位置相鄰的前景像素點組成的圖像區域,連通區域分析是指將圖像中的各個連通區域找出並標記。
連通區域分析是一種在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、最後使用分水嶺演算法
D. 誰能給個好用的連通域處理的演算法,要8鄰域的
樓主要處理的圖像是什麼樣的?黑白圖像還是彩色的?我這里有個以前用過的只針對黑白圖像的連通域處理,目標是白色,背景是黑色的,不過,如果你的圖像不是這樣的,那先二值化,然後變換為黑色背景白色目標的圖片 CodeGo.net,再調用我這個函數,先看懂我這個函數,然後修改為可以處理白色背景黑色目標 具體函數
其中THRESHOLD_JOINNUM 是個宏定義……
你要先把圖像的邊緣像素處理下,把邊緣1到2個像素寬度的位置,都置為背景色,否則,可能得不到正確的結果,也可能造成訪問越界。也就是把四周的邊緣像素都置為背景色 然後,如果你仔細看這個函數的實現的話,其實是使用兩次連通域處理,一次是用來把黑色的小區域變為白色,也就是填補目標區域中可能出現的小黑洞。然後第二次處理才是用來刪除那些小於閾值的白色目標小連通域 這個函數你要看明白才能正確使用。看吧。
2. 樓主要處理的圖像是什麼樣的?黑白圖像還是彩色的?我這里有個以前用過的只針對黑白圖像的連通域處理,目標是白色,背景是黑色的,不過,如果你的圖像不是這樣的,那先二值化,然後變換為黑色背景白色目標的圖片,再調用我這個函數,先看懂我這個函數,然後修改為可以處理白色背景黑色目標 具體函數
E. 簡述邊界表示的四連通區域的種子填充演算法的基本思想和執行步驟
一、種子填充演算法思想:
首先填充種子所在的尚未填充的一區段,然後確定與這一區段相鄰的上下兩條掃描線上位於該區段內是否存在需要填充的新區段,如果存在,則依次把每個新區段最右端的象素作為種子放入堆棧。反復這個過程,直到堆棧為空。
二、種子填充演算法步驟:
1、初始化堆棧。
2、種子壓入堆棧。
3、While(堆棧非空)從堆棧彈出種子象素。
F. 復連通區域怎麼用格林公式
在平面閉區域D上的二重積分,可通過沿閉區域D的邊界曲線L上的曲線積分來表達;或者說,封閉路徑的曲線積分可以用二重積分來計算。
如區域D不滿足以上條件,即穿過區域內部且平行於坐標軸的直線與邊界曲線的交點超過兩點時,可在區域內引進一條或幾條輔助曲線把它分劃成幾個部分區域,使得每個部分區域適合上述條件,仍可證明格林公式成立。
注意:對於復連通區域D,格林公式的右端應包括沿區域D的全部邊界的曲線積分,且邊界方向對區域D來說都是正向。
格林公式溝通了二重積分與對坐標的曲線積分之間的聯系,因此其應用十分地廣泛。
格林公式如下:
復平面上的一個區域G,如果在其中任做一條簡單閉曲線,而閉曲線的內部總屬於G,就稱G為單連通區域(如圖二左所示)。一個區域如果不是單連通區域,就稱為多連通區域(如圖二右所示)。
參考資料來源:網路-連通區域
參考資料來源:網路-格林公式
G. 幫忙下載pudn文件,萬分感謝。http://www.pudn.com/downloads201/doc/detail944859.html
請下載附件吧,文件已給你上傳,希望對你的研究有所幫助,還望採納
連通區域標記演算法,包括區域增長法、線標記和像素標記以及各種綜合的演算法
連通域標記Fast connected-component labeling based on
sequent.pdf
..........線標記結合區域增長一種二值圖像連通區域標記的新演算法.pdf
..........區域增長法一種二值圖像連通區域標記的新方法.pdf
....................基於Max-tree的連通區域標記新演算法.pdf
..........線標記基於跑長碼的連通區域標記演算法.pdf
................快速連通域分析演算法及其實現.pdf
................線求解二值圖像連通域的改進演算法.pdf
..................一種新的二值圖像標記的快速演算法.pdf
..................一種基於線的標號傳播二值圖象連通體快速檢測方法.pdf
................遊程二值圖象的快速標記方法及其應用.pdf
....................二值圖像中的遊程編碼區域標記.pdf
....................一個二值圖像連通成份標記的快速演算法.pdf
...........袼乇曇荺基於遞歸的二值圖像連通域像素標記演算法.pdf
..................帶標記矯正的二值圖象連通域像素標記演算法.pdf
H. java代碼怎麼實現計算圖像二值連通區域的質心
一:幾何距(Geometric Moments)知識與質心尋找原理
1. Image Moments是圖像處理中非常有用的演算法,可以用來計算區域圖像的質心,方向等幾何特性,同時Mpq的高階具有旋轉不變性,可以用來實現圖像比較分類,正是因為Moments有這些特性,很多手繪油畫效果也會基於該演算法來模擬實現。它的數學表達為:
它的低階M00,M01, M10可以用來計算質心,中心化以後M11,M02,M20可以用來計算區域的方向/角度
2. 什麼是質心
就是通過該點,區域達到一種質量上的平衡狀態,可能物理學上講的比較多,簡單點的說就是規則幾何物體的中心,不規則的可以通過掛繩子的方法來尋找。
二:演算法流程
1. 輸入圖像轉換為二值圖像
2. 通過連通組件標記演算法找到所有的連通區域,並分別標記
3. 對每個連通區域運用計算幾何距演算法得到質心
4. 用不同顏色繪制連通區域與質心,輸出處理後圖像
三:演算法效果
左邊為原圖, 右邊藍色為連通組件標記演算法處理以後結果,白色點為質心
四:關鍵代碼解析
1. 計算幾何距演算法代碼
doublem00 = moments(pixels, width, height, 0, 0);
doublexCr = moments(pixels, width, height, 1, 0) / m00;// row
doubleyCr = moments(pixels, width, height, 0, 1) / m00;// column
return new double[]{xCr, yCr};
I. NI Vision:二值圖像連通域標記演算法
前面說到,要使用Labwindows + NI Vision(IMAQ Vision)這套商用開發框架來做數圖課設。很明顯,這套虛擬儀器開發平台由NI Instrument(美國國家儀器公司)開發的。大名鼎鼎的Labview軟體就是這個公司開發的。相比較而言,Labwindows使用ANSI C開發,但應用場景是差不多的。
在做課程作業的時候,遇到了一個很有趣的應用。輸入是米粒,比背景灰度要低,目的是輸出米粒的顆數、面積、周長和孔數,這是工業上的一個很常見的應用。具體處理過程是二值化後使用低通濾波,並計算各種性質。
界面設計如下,可以看到米粒的詳細情況。
讓我感興趣的,是通過怎樣的演算法能夠得到米粒的數量?之前曾經用過OpenCV中找最大外界矩形這個函數,但沒有具體了解演算法實現。直覺告訴我原理應該是相似的。
可以看到,每一個米粒之間都是不連通的。這里就就提出了一個概念。 連通區域(Connected Component) 是指圖像中相鄰並有相同像素值的圖像區域。 連通區域分析(Connected Component Analysis,Connected Component Labeling) 是指將圖像中的各個連通區域找出並標記。
二值圖像分析最重要的方法就是連通區域標記,它是所有二值圖像分析的基礎,它通過對二值圖像中白色像素(目標)的標記,讓每個單獨的連通區域形成一個被標識的塊,進一步的我們就可以獲取這些塊的輪廓、外接矩形、質心、不變矩等幾何參數。如果要得到米粒的數量,那麼通過連通區域分析(這里是二值圖像的連通區域分析),就可以得到標記的數量,從而得到米粒的數量。
下面這幅圖中,如果考慮4鄰接,則有3個連通區域,8鄰接則是2個。
從連通區域的定義可以知道,一個連通區域是由具有相同像素值的相鄰像素組成像素集合,因此,我們就可以通過這兩個條件在圖像中尋找連通區域,對於找到的每個連通區域,我們賦予其一個唯一的 標識(Label) ,以區別其他連通區域。
連通區域分析的基本演算法有兩種:1)Two-Pass兩便掃描法 2)Seed-Filling種子填充法 。
兩遍掃描法(Two-Pass),正如其名,指的就是通過掃描兩遍圖像,就可以將圖像中存在的所有連通區域找出並標記。
說了一堆數學語言,其實用圖很好理解
種子填充方法來源於計算機圖形學,常用於對某個圖形進行填充。它基於區域生長演算法。至於區域生長演算法是什麼,可以參照我的這篇 文章 。
同樣的,上動圖
NI Vision 中的運算元定義如下
OpenCV中也有相應的運算元
這里參照其他博客實現一下Two-Pass演算法,Seed-Filling演算法就偷懶不搞了。
Reference:
OpenCV實現圖像連通組件標記與分析
OpenCV-二值圖像連通域分析
數字圖像處理技術 ——鄧繼忠(我的任課老師)
J. 請問在公務員考試中,什麼是連通區域和非連通區域怎麼數連通區域數和數非連通區域數
考試中出現的連通區域和非連通區域的題目主要出現在圖形推理,
舉個列子:「理」這個字,它就是由「王」和「里」2個連通區域組成,因為「王」和「里」的所有比劃有連著,不分開!
沒有連著的區域有幾個就是幾個連通區域!
希望能幫到你!