python - 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)
难道我做错了什么?