我有一张大图,上面有数字图片。在小图片上,我有很多这些数字的模板。
因此,我想将大图与模板进行比较,以确定相同的图-并获取正确的数字。
在我的情况下,模板匹配不起作用,因为大图像上的小数字可能会旋转或前景不正常。例如,模板匹配看不到6和9之间的差异,但是它认为6和6在倾斜时是不同的图像。
我认为功能匹配是更好的方法,但是在此示例中,我只能在输出图像上绘制相似性,我不需要,我想获得分数或比率:数字更大-有正确的模板。
对不起,不好的解释。
我试图添加图片,但是无法添加(缩进是错误的,不知道为什么)
img1 = cv2.imread('large.png',0)
img2 = cv2.imread('20.png',0)
orb = cv2.ORB_create()
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)
img3 = cv2.drawMatches(img1,kp1,img2,kp2,matches[:10],None, flags=2)
cv2.imshow('s',img3)
cv2.waitKey(0)