2012-05-17 99 views
2

我有兩個相似的圖像,一個是模板,另一個圖像是通過攝像機拍攝的(因此受到旋轉和傾斜)。我需要匹配模板圖像和拍攝圖像的輪廓。 opencv的matchShape函數是否足夠?我擔心的是,如果圖像上有兩個圓圈,它們可能具有相同的輪廓。我應該考慮輪廓的位置嗎?比較輪廓

在此先感謝

+0

看看這個答案: http://stackoverflow.com/questions/10355015/how-to-compare-two-contours-of-a-binary-pattern-image/16365446#16365446 –

回答

1

在大多數情況下matchShapes()方法應該工作,因爲它使用Hue moments這是不變的縮放,旋轉和反射(7日除外)。

另一方面,如果你需要更具體的東西,你應該設計自己的錯誤最小化問題,就像變形模板中使用的那樣。使用可變形模板的示例可在my thesis中找到。

+0

謝謝!我只是想問,如果我在圖像上有兩個圓圈(相同尺寸),它會檢測到正確的圓圈嗎? – MiuMiu

+0

如果圈子的位置對你很重要,你應該單獨檢查一下。 matchShapes()應該不變爲圓的位置。 –

+0

你知道任何算法嗎?我必須將這個位置放在模板圖像上。再次感謝您的回覆 – MiuMiu