在我的项目中,我需要与图像进行比较。一个图像显示渲染模型,另一个图像是照片,其中显示了在模型中表示的真实对象。我真正想要的是:
我试图计算两幅图像的欧几里德距离,但结果只有当像素完全相互适合时才会有效。现在我正在寻找替代品。
到目前为止,我考虑使用规范化的互相关,但我真的不知道它是否适合我的任务。
问题是,如果规范化的互相关值得尝试,或者有更好的方法来解决我的问题!
算法应该尽可能快,因为我比较了很多图像。
非常感谢
感谢您的建议。我有点困惑,因为标准化的交叉相关和Haussdorff距离似乎有利于在大图中找到一个小图案。
问题是:两种算法是否也适合比较相同尺寸的2张图片?
以下是必须比较的2张图片的示例。目前我正在比较大约120张图片 - 每秒一次。
太糟糕了,我不能以新用户的身份发布图片。所以这是直接链接: http://s14.directupload.net/file/d/2674/t8qzbq9i_png.htm
答案 0 :(得分:4)
如何以Haussdorff距离作为起点进行试验?总体思路和实施here。文章:
Comparing images using the Hausdorff distance,DP Huttenlocher - 1993年。
答案 1 :(得分:1)
您还可以退房cosine similarity。我在检测视频流中的剪辑场景时非常成功地使用了它。基本上,您将整个图像视为一维向量,并继续进行余弦相似性度量。基本上,小角度意味着紧密匹配,而大值意味着存在不匹配。阈值需要对您的数据集进行一些调整,但它可能有效,而且速度非常快。
归一化的互相关应该更加稳健,但需要更多时间。由于您提到需要处理不同的姿势,您还应该查看特征检测和提取解决方案。看看opencv的matcher_simple.cpp和matching_to_many_images.cpp样本。这些技术对比例和旋转差异有一定的容忍度。
希望这有用!