如何确定openCV中图像相似度的百分比

时间:2017-11-03 15:37:25

标签: c# python c++ opencv computer-vision

我正在处理与重复文档检测相关的项目。我花了几个小时的时间在谷歌上搜索并学习了很多关于OpenCV的知识(这真的很难,但完全是一个有趣的体验,我绝对会在一切之后开始写博客!) 。我计划使用BRISK \ AKAZE探测器和FREAK描述符以及LSH匹配来比较每个文档(因为文档主要是黑白),但我需要准确计算两个图像基于百分比的相似程度,以启用我的软件之后做出简单的决定。

我对我的项目有任何想法或建议,我很乐意,如果有人愿意与他们的答案分享一些代码,以节省我在谷歌搜索的时间:-)。感谢。

修改 以下是解释我的问题的示例。

This is an original document.

Here is document one, but re-scanned, and slightly rotated

Here is a similar image.

图片1是我需要获得匹配的文档。它与所有其他文档非常相似,但它与图像3不同,匹配后它应该具有可能90%的相似百分比到图像3.图像2是图像1的重复,它已被重新扫描并且在此过程中略微旋转,它可以有95% - 98%的相似性,因为它的特征与图像1非常相似。谢谢大家:)。

1 个答案:

答案 0 :(得分:1)

你应该研究SSIM。 (结构相似性指数)。它基于图像结构和像素值的相似性返回0-1分数。我不相信OpenCV有一个预先制定的解决方案,但有大量的教程可以在OpenCV中编写自己的。