1.之前有模板匹配,需要一个完美或者接近完美的匹配,但是不能找出不同角度,不同光线或者不同旋转的图片

  而这里的特征匹配则可以克服这些

2.当显示10个匹配点时,完全正确。显示18个时,出现一些误判的现象

(14)特征匹配(14)特征匹配(14)特征匹配(14)特征匹配

import cv2                                                                                                                           
import numpy as np
import matplotlib.pyplot as plt

img1=cv2.imread('opencv-feature-matching-template.jpg',0)
img2=cv2.imread('opencv-feature-matching-image.jpg',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)

#显示10个匹配点
img3=cv2.drawMatches(img1,kp1,img2,kp2,matches[:10],None,flags=2)
plt.imshow(img3)
plt.show()

 

相关文章:

  • 2021-12-13
  • 2021-09-07
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2021-05-18
  • 2022-12-23
  • 2021-08-04
猜你喜欢
  • 2021-10-17
  • 2021-08-14
  • 2021-11-19
  • 2021-07-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案