2

我有两个几乎相同的手的二进制图像。我应该如何比较它们以知道它们是否代表几乎相同的形状。我试图找到两个图像之间的欧几里得距离,但如果图像略有变化或它不会给出正确的答案向左或向右移动或大小略有减小。我还在 opencv 中尝试过 HOG 描述符,但如果我比较多个图像,我仍然无法得到正确的答案。基于形状或任何比较两个二进制图像的最佳方法是什么在不考虑图像大小的情况下了解几乎匹配图像的功能。图像的链接是http://postimg.org/image/w20tuuzmv/http://postimg.org/image/jndr4br9x/

4

2 回答 2

0

我认为广义霍夫变换对您来说可能是一个很好的解决方案。是一个关于它的教程。

或者,您可以尝试从一张图像中剪出手(仅使用轮廓边界矩形),然后将其用作模板并使用模板匹配技术在第二张图像中搜索它 -您可以在此处阅读更多信息。当您找到具有最高相关值的点时,您需要确定它是否足够大 - 您需要自己找到阈值。

于 2015-03-18T13:20:29.087 回答
0

图像是否只是旋转、平移和缩放?如果是这样,您可以使用 PCA 计算图像的主成分,然后旋转图像以使第一个分量处于某个方向(例如始终垂直),然后您可以计算图像的质心并将它们转换为始终位于相同的位置(例如图像的中心),要始终使用相同的比例,您可以调整图像的大小,以便每个白色像素与质心之间的距离之和在两个图像中都是相同的。现在很容易比较图像,例如score = np.sum(A==B)

于 2015-03-18T13:57:14.097 回答