首页 > 解决方案 > OpenCV:MatchShapes 完全错误

问题描述

我在 OpenCV 中使用 cv2.matchShapes() 函数来查找图像中与另一个形状最相似的形状。

它给了我一些奇怪的结果,例如,当我将形状(圆形硬币)与毛衣的形状匹配时,它返回 0.09,接近分数,并且比匹配实际硬币时的分数更高。 输出 输出

这是我的代码:

    for contour in cnts:

    box = bounding_box(contour)
    orig = image.copy()
    cv2.drawContours(orig, [contour, reference_contour],
            -1, (0, 0, 255), 2)
    cv2.putText(
            orig, "SIMILARITY: {0:.4f}".format(
                cv2.matchShapes(
                    contour, reference_contour, 1, 0.0)
                ),
            (10, 70), cv2.FONT_HERSHEY_SIMPLEX, 0.65, (255, 0, 0), 2)
    cv2.imshow("coin_metric_cnn.py", orig)
    cv2.waitKey(0)

难道我做错了什么?

标签: pythonopencvcomputer-visionopencv3.0cv2

解决方案


推荐阅读