OpenCV: MatchShapes полностью неверен - PullRequest
0 голосов
/ 11 сентября 2018

Я использую функцию cv2.matchShapes () в OpenCV, чтобы найти фигуру на изображении, наиболее похожем на другую фигуру.

Это дает мне странные результаты, например, когда я сопоставляю форму (aкруглая монета) против формы свитера он возвращает 0,09, близкий счет и лучший результат, чем когда он совпадает с реальной монетой.output output

Это мой код:

    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)

Я что-то не так делаю?

...