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

问题描述 投票:2回答:1

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

一点澄清。

  • 图片将包含写在一张纸上的符号。
  • 我将有一张带有符号的纸张的“原始”图片。
  • 我需要将新捕获的符号图像与原始图像进行比较,并确定它们是否是相同符号的相同图像。
  • 新捕获的符号图片可以从不同的角度拍摄。

我查看了OpenCV和Google Vision,但我有点失落,关于如何做到这一点。

我的问题

我有这样的“原始”图片

我新拍摄的照片上面有相同的符号,但是从不同的角度拍摄,就像这样

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

预先感谢。

image opencv image-processing similarity google-vision
1个回答
0
投票

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

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

对于您的应用程序,我会查看模板或功能匹配,因为您的图像可能会因角度而异。

© www.soinside.com 2019 - 2024. All rights reserved.