2012-10-18 39 views
4

我目前正在尋找一種方法來適應2D點雲的簡單形狀(例如T形或L形)。我需要的是形狀的位置和方向。在二維點雲中尋找簡單的形狀

我一直在尋找幾種方法,但大多數看起來很複雜,首先涉及到構建和學習示例數據庫。由於我正在處理非常簡單的形狀,我希望可能有一個更簡單的方法。

回答

0

通過說你不想做任何培訓我猜你的意思是你不想做任何功能匹配;特徵匹配用於對圖像中對象的姿態(位置和方向)進行很好的猜測,並且與RANSAC一起適用於猜測和驗證關於對象姿態的良好假設的問題。

最簡單方法是模板匹配,但這可能太複雜(這取決於您的使用情況)。在模板匹配中,您只需簡單地遍歷對象的可能位置及其可能的方位和可能的比例尺,並檢查模板(在該位置和方向和比例上看起來像L或T的雲)是否匹配(或您抽樣可能的位置方向和規模隨機)。如果你的點是有組織的(或者你通過將它們轉換成像素來組織它們),模板的檢查可以相當快。

如果這是太慢了也有用於製作模板匹配速度更快,我會向大家推薦通用霍夫變換許多方法。 這裏,在開始搜索模板之前,您可以遍歷要查找的形狀的邊界(T或L),並且對於其邊界上的每個點,查看梯度方向,然後查看梯度方向以及對象模板的原點,以及到原點的距離。您可以將其添加到每個邊界點的表格中(我們稱之爲Table A),並最終生成一個表格,從梯度方向映射到對象原點的可能位置集合。現在您設置了一個2D投票空間,它實際上只是一個2D數組(我們稱之爲Table B),其中每個像素都包含一個代表該位置中對象投票數的數字。然後,對於目標圖像(點雲)中的每個點,檢查梯度並找到與該梯度對應的Table A中可找到的一組可能的對象位置,然後在Table B(霍夫空間)。

這是一個非常簡潔的解釋,但知道尋找模板匹配和廣義Hough變換,您將能夠在網上找到更好的解釋。例如。查看Wikipedia頁面進行模板匹配和Hough變換。

0

您可能需要:

1-從圖像中提取的一些功能裏面,你要尋找的對象。

2-提取對象

3-匹配的特徵的圖像中的另一組的功能(也可以使用的方法,如SIFT)

4-當找到匹配項應用RANSAC算法。它爲您提供轉換矩陣(包括轉換,旋轉信息)。

使用SIFT從here開始。它實際上是爲SIFT編寫的最好的源代碼之一。它包括RANSAC算法,你不需要自己實現它。

你可以閱讀關於RANSAC here