2011-11-23 223 views
7

我在兩個圖像上找到了具有相同對象的輪廓,我想查找這個對象的位移和旋轉。我嘗試過使用這個輪廓的旋轉邊界框,然後是它的角度和中心點,但是邊界框的旋轉不能正確地告訴輪廓旋轉,因爲它對於角度a + 0,a + 90,a + 180等是一樣的。度。 找到輪廓的旋轉和位移是否有其他好方法?也許有些使用凸包,凹凸缺陷?我讀過關於匹配輪廓的學習OpenCv,但它沒有幫助。有人可以舉一些例子嗎?輪廓匹配 - 找到輪廓位移

//編輯: 也許有某種方法可以使用類似於弗里曼連鎖的東西來做到這一點?但我目前無法弄清算法。使鏈條與序列點之間存在角度,然後檢查序列匹配是不行的...

+0

在dsp.stackexchange.com上可能會更好 – endolith

回答

3

如果對象具有凸度缺陷,那麼您可以選擇一個缺陷,從第一個輪廓的質心到質心創建一個矢量的缺陷。 然後,您可以檢查第二個輪廓中的缺陷並匹配您使用過的輪廓中的缺陷。從輪廓質心到匹配缺陷質心的矢量。

從這裏你得到2段(向量),你可以從中獲得位移和旋轉。

+0

但我想知道它是否會對所有類型的輪廓都有效?例如,要檢測非常簡單的形狀如方形等 – krzych

+0

這就是爲什麼我說如果它有缺陷,如果對象是正方形或圓形或其他基本形狀,您將需要另一種方法。 – Adrian