OpenCV:指纹图像和数据库比较

Ste*_*fan 9 hash comparison opencv image fingerprint

我有一个图像数据库.当我拍摄新照片时,我想将其与此数据库中的图像进行比较,并获得相似性得分(使用OpenCV).这样我想要检测,如果我有一个图像,这与新图片非常相似.

是否可以创建我的数据库图像的指纹/哈希并匹配新的数据库图像?

我正在搜索alogrithm代码段或技术演示,而不是商业解决方案.

最好,

斯特凡

And*_*aev 10

正如Pual R评论的那样,这种"指纹/散列"通常是一组特征向量或一组特征描述符.但是,计算机视觉中使用的大多数特征向量对于搜索数据库来说通常计算量太大.因此,此任务需要一种特殊的特征描述符,因为即使使用各种优化,SURF和SIFT等描述符也会花费太多时间进行搜索.

OpenCV对您的任务(对象分类)唯一具有的是Bag of visual Words(BOW)的实现.

它可以计算特殊的图像特征并训练视觉词汇词汇.接下来,您可以使用此词汇表在数据库中查找类似图像并计算相似度得分.

这是包含单词的OpenCV文档.OpenCV也有一个名为的样本bagofwords_classification.cpp.它真的很大但可能会有所帮助.