等高线图像之间的匹配形状

时间:2014-11-20 11:52:50

标签: c++ opencv vector pattern-matching

In this example tutorial图像由轮廓组成。轮廓是点的矢量。 matchShapes执行此类轮廓之间的比较。但Mat图像是由多个轮廓组成的。它是vector<vector<Point>>,例如,在教程的示例中,drawing由多个重叠的轮廓组成。

我的问题是,如果我有2个Mat对象,如何使用matchShapes比较它们?我想比较图像本身,而不是每个轮廓。这意味着我想比较vector<vector<Point>>而不仅仅是vector<Point>

但是,我无法比较两个向量的每个元素。它需要在它们的重叠之间进行比较。

原始

enter image description here

Canny轮廓的阈值为85

enter image description here 此图像由contours.size()个轮廓组成,彼此重叠。我如何将其与其他类似的例子进行比较? (显然,将它与自身进行比较应该是一个完美的匹配,但我不知道该怎么做)

我需要找到一种方法来比较它作为一个整体,而不是采取每个contours并进行比较。 例如,如果我想用这个来做:

enter image description here

0 个答案:

没有答案