我正在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)
我做错什么了吗?