最近開始接觸Halcon,在學習過程中發現connection()算子是個非常常用且實用的函數,但是通過Halcon自帶的文檔及查閱相關博客時,怎么看都理解不了這個算子到底是怎么工作的,恰巧在貼吧里面看到了一則解釋,可以說是非常的清晰,在此分享出來,與大家共同學習。
1、connection(Region, ConnectedRegions)
connection算子一般就兩個參數,參數Region表示需要計算的輸入圖像區域,參數ConnectedRegions表示輸出圖像區域。
2、connection函數簡介
如上圖所示 ,整個橢圓里面的所有矩形,我們把所有這些矩形稱之為一個region,這個時候你用Region做參數計算區域內目標的個數就是1,那么,現在我想知道這個Region實際上包含了多少個子區域sub_region,即多少個矩形,我要怎么弄?當然是只能把這7個矩形都當成一個個單獨的連通區域了啊,這就是connection的作用,計算你的region里面到底有多少個子連通集,幫你把這些連通集分離成單個的,這樣你就可以進行后續操作了,比如上面的7個矩形中,我想留下面積最小的那個,那就對這幾個連通集都求面積,找面積最小的那個就行了。如果不使用connection,你的任何操作都是對這7個矩形組成的一個整體進行操作。