我有这两张图片。
还有..。
我将它们做成灰度图像,然后将这两张图像传递给cvMatchImages
,如下所示
Double someValue = cvMatchShapes(grayImage, grayImage2, CV_CONTOURS_MATCH_I2, 0);
System.out.println(someValue);
sysout输出的值是1.465496453484283。这个值代表什么?我如何使用它来匹配其他图像,以及如何拒绝那些不匹配的图像?
发布于 2012-03-23 14:26:18
该值表示两个对象的不同程度,它表示两个形状之间的Hu矩特征距离。它越小,两个物体就越相似。可以使用阈值来执行匹配,如下所示:如果输出值小于阈值,则两个对象匹配,或者两个对象不同。至于如何选择阈值,这取决于。您可以使用一些实例来训练阈值。我强烈建议您将图像中的对象归一化为类似的size.this将给您更好的准确性
https://stackoverflow.com/questions/9828708
复制相似问题