4

我有这两张图。

小尺寸

和... 更大的尺寸

我将它们制作成灰度图像,然后将这两个图像传递给cvMatchImages喜欢

Double someValue = cvMatchShapes(grayImage, grayImage2, CV_CONTOURS_MATCH_I2, 0);
    System.out.println(someValue);

sysout 打印的值为 1.465496453484283。这个值代表什么?我如何使用它来匹配其他图像,以及如何拒绝那些不匹配的图像?

4

1 回答 1

2

该值表示两个物体的差异程度,它代表了两个形状之间的胡矩特征距离。它越小,两个对象越相似。可以使用阈值来执行这样的匹配:如果输出值小于阈值,则两个对象匹配,或者两个对象不同。至于如何选择阈值,则取决于 。您可以使用一些实例来训练阈值。我强烈建议您将图像中的对象标准化为相似大小。这将为您提供更好的准确性

于 2012-03-23T06:26:17.900 回答