我有这两个图像.
和…
我将它们制作成灰度图像,然后将这两个图像传递给cvMatchImageslike
Double someValue = cvMatchShapes(grayImage, grayImage2, CV_CONTOURS_MATCH_I2, 0);
System.out.println(someValue);
sysout打印的值为1.465496453484283.这个值代表什么?我如何使用它来匹配其他图像,以及如何拒绝那些不匹配的图像?
解决方法:
值表示两个对象的差异,它表示两个形状之间的Hu矩特征距离.它越小,两个对象就越相似.
可以使用阈值来执行匹配:如果输出值小于阈值,则两个对象匹配,或者两个对象不同.
至于如何选择一个门槛,这取决于.
您可以使用某些实例来训练阈值.
我强烈建议您将图像中的对象标准化为相似的大小.这样可以提高准确性