比较两张相似的图片以获得相似度值

时间:2019-03-17 20:20:19

标签: image opencv image-processing similarity google-vision

我正在尝试创建自己的应用,我需要比较两张图片。

一些澄清。

  • 图片将包含写在纸上的符号。

  • 我将在纸上贴上带有原始符号的“原始”图片。

  • 我需要将新捕获的符号图片与原始图片进行比较,并确定它们是否都是相同符号的同一图片。

  • 新捕获的符号图片可以从其他角度拍摄。

我查看了OpenCV和Google Vision,但在操作方法上有些迷茫。

我的问题

我有这样的“原始”图片 Original picture

我新捕获的图片上带有相同的符号,但是是从不同的角度拍摄的,例如comparing image

我需要确定它们是“相同”(相似)还是不同。

谢谢。

1 个答案:

答案 0 :(得分:0)

OpenCV支持几种比较两个图像以及这些图像有多“相似”的方式。这些方法包括比较直方图,模板匹配和特征匹配。

比较直方图的方法 cv2.compareHist()可能是最简单,最快的方法,但是有时可能过于简单和不准确。另一种方法是模板匹配 cv2.matchTemplate(),它将“模板”搜索图像与目标图像进行比较。该方法对于具有相似大小和方向的相同图像效果很好,但对于成角度的图像可能无效。 特征匹配方法可能是最有效的方法之一,因为提取的特征可用于确定图像之间的相似性。可以针对旋转或缩放的目标识别这些特征,因为很高的相似度暗示着相同的对象。此类别可以进一步分为纹理描述符(HOG,LBP,Haar)和关键点描述符(SIFT / SURF)。

对于您的应用程序,我将研究模板或功能匹配,因为您的图像可能随角度而变化。