2012-02-19 193 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