我想知道比较一组轮廓的最佳策略是什么,实际上是从两张图片中进行精明边缘检测的边缘,以便知道哪一对更相似。
我有这张图片:
http://i55.tinypic.com/10fe1y8.jpg
我想知道如何计算其中哪一个最适合它:
http://i56.tinypic.com/zmxd13.jpg
(应该是右边那个)
无论如何要比较整个轮廓吗?我可以轻松地旋转图像,但我不知道使用什么函数来计算右侧的参考图像是最合适的。
这是我已经尝试过使用opencv的:
matchShapes 函数 - 我使用 2 个灰度图像尝试了此函数,并且在每个比较图像中我总是得到相同的结果,并且该值似乎是错误的,因为它是 0,0002。
所以我意识到matchShapes,但我不确定这是正确的假设,是该函数适用于成对的轮廓而不是完整的图像。现在这是一个问题,因为虽然我有我想要比较的图像的轮廓,但它们有数百个,我不知道哪些应该“配对”。
因此,我还尝试将第一个图像的所有轮廓与其他两个进行迭代进行比较,但我可能会比较,例如,5 的轮廓与两个参考图像的圆形轮廓而不是 2 轮廓。
还尝试了简单的 cv::compare 函数和 matchTemplate,都没有成功。