Сравнение изображений с использованием python open cv (ORB) - PullRequest
0 голосов
/ 12 марта 2020

Мое требование - соответствовать изображению и показывать, присутствует ли функция или нет. Это 2 изображения, которые я использую,

Я использовал приведенный ниже код, чтобы сопоставить функции 2 изображений, но он не дает правильного соответствия, так что у вас есть какой-либо вариант для сопоставления или любая другая идея, или я необходимо изменить кодировку, указанную ниже.

`enter code here`
import cv2
import matplotlib.pyplot as plt

cv2.__version__
img1 = cv2.imread('D:/Notsaved/naiduv/Images/img3.png')
img2 = cv2.imread('D:/Notsaved/naiduv/Images/img1.png')

#cv2.imshow('img',img1)
#sift = cv2.xfeatures2d.SIFT_create()
#kp = sift.detect(img1,None)
#img=cv2.drawKeypoints(gray,kp,img)
#cv2.imwrite('sift_keypoints.jpg',img)
#cv2.waitKey(0)
#cv2.destroyAllwindows()
orb = cv2.ORB_create()
kp1,des1 = orb.detectAndCompute(img1,None)
kp2,des2 = orb.detectAndCompute(img2,None)
for d in des2:
    print(d)
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[:1],None, flags=2)
plt.imshow(img3)
plt.show()


   https://i.stack.imgur.com/e8ljO.png
   https://i.stack.imgur.com/cSuer.png
   https://i.stack.imgur.com/6BDlK.png
...