2012-02-19 191 views
6

正如您在圖像中看到的,我想比較這些輪廓。OpenCV ||輪廓相似性

contours

我需要的OpenCV程序返回TRUE這些輪廓時被互相比較。 他們都看起來一樣,但你可以看到他們不完全一樣。

您在這裏看到的結果是我從函數findContours返回的結果。

所以我正在尋找這些輪廓相似的正確方法。

任何幫助將是驚人的。

非常感謝您提前。

回答

5

看看cvMatchShapes()(它曾被稱爲cvMatchContours())。

+0

謝謝你! 我馬上就去。 我想使用K Nearest Neigbour方法,但我不確定如何在OpenCV中正確實現它。 – 2012-02-20 15:30:28

+0

很高興。完成:-) – 2012-02-20 18:00:38

+0

Adi,你能告訴我如何使用cvMatchShapes。當我嘗試用滿載矢量>的輪廓運行它時,我得到:OpenCV錯誤:斷言失敗。提前致謝。 – 2012-02-20 22:32:14

5

要使用matchShapes()函數,您應該通過vector<Point>,vector<Point>作爲參數。 因此,不要像您那樣勾畫容器,而要使用特定的輪廓。你想要比較的形狀應該是一個輪廓。

+0

謝謝你!由我愚蠢的錯誤:-) 它是矢量而不是矢量<矢量>。 – 2012-02-21 17:09:23