模板匹配不同的模板尺寸

Template matching with different template sizes

我以前见过这样的问题,但那些问题指的是图像缩放,这意味着纵横比始终相同。我的目标是分析每张图片 (Image 1 Image 2) and determine the template location (X and Y coordinates) and size (width and height of the recognized one as precise as possible) and write them into variables using single not warped reference。 我不是很喜欢编程,那只是我的项目所需要的东西。我知道基础知识,所以如果没什么大不了的,就不需要解释太多。我真的很感激任何帮助。 Explanation

更新:

import cv2
import numpy as np
  
img1 = cv2.imread('template.png')
img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
img2 = cv2.imread('image.png')
img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)

orb = cv2.ORB_create(nfeatures=500)
kp1, des1 = orb.detectAndCompute(img1, None)
kp2, des2 = orb.detectAndCompute(img2, None)

bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(des1, des2)
matches = sorted(matches, key=lambda x: x.distance)
match_img = cv2.drawMatches(img1, kp1, img2, kp2, matches[:50], None)
cv2.imshow('', match_img)
cv2.waitKey()

我想你可以参考我的github。

我在 Fastest_Image_Pattern_Matching 存储库上实现了快速图像对齐算法。

https://github.com/DennisLiu1993/Fastest_Image_Pattern_Matching

将 C++ 代码传输到 python 代码对您来说可能是个问题,但只要找到相应的函数即可。