在我的项目中,我需要与图像进行比较。一张图像显示渲染模型,另一张图像是照片,其中显示模型中表示的真实对象。我到底想要什么:
- 该算法必须比较两个图像并返回一个描述相似度的数字。假设数字越低,图像就越吻合。
- 两个图像都表示为二进制图像,仅包含真实渲染图像/照片的轮廓/边缘。
- 照片中的物体比渲染图像多得多。所以我只想检查渲染对象的视点是否与照片中真实对象的视点几乎相同。 (示例:对汽车进行建模,使其接近真实的汽车。我从特殊的位置和方向拍摄真实汽车的照片。现在我想检查虚拟相机的位置和方向是否看着渲染汽车与我现实生活中相机的位置和方向几乎相同)。解决方案只是将渲染图像的白色像素与照片的像素(作为边缘图像)进行比较。其他像素并不有趣。
- 虚拟相机的方向和位置与真实相机的方向和位置吻合得越好,图像比较的返回值应该越小。
我尝试计算两个图像的欧几里德距离,但只有当像素彼此完全吻合时,结果才是好的。现在我正在寻找替代方案。
到目前为止,我考虑使用归一化互相关,但我真的不知道它是否适合我的任务。
问题是,归一化互相关是否值得一试,或者是否有更好的方法来解决我的问题!
该算法应该尽可能快,因为我比较了很多图像。
多谢
感谢您的建议。我有点困惑,因为归一化互相关和豪斯多夫距离似乎有利于在大图片中找到小模式。
问题是:这两种算法是否也适合比较两张相同大小的图片?
这是必须比较的 2 个图像的示例。目前我每秒比较大约 120 张图片对。
太糟糕了,我无法作为新用户发布图像。所以这是直接链接:http://s14.directupload.net/file/d/2674/t8qzbq9i_png.htm http://s14.directupload.net/file/d/2674/t8qzbq9i_png.htm
以豪斯多夫距离为起点进行实验怎么样?总体思路及c实现here http://www.cs.cornell.edu/~dph/hausdorff/hausdorff1.html。文章在这里:
使用豪斯多夫距离比较图像 http://www.cs.cornell.edu/~dph/papers/HKR-TPAMI-93.pdf,DP Huttenlocher - 1993。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)