SURF сравнение, оценка сходства, PYTHON - PullRequest
0 голосов
/ 03 мая 2018

Мне нужно сравнить два изображения, для этого я использовал сравнение с поиском, но мне также нужно получить оценку сходства двух изображений в% Не похоже, что в библиотеке cv2 есть такая команда!

Ниже вы найдете код, который я использовал для сравнения SURF:

import cv2
import numpy as np

filename1 = askopenfilename(filetypes=[("image","*.png")])
filename2 = askopenfilename(filetypes=[("image","*.png")])

img1=cv2.imread(filename1,1)
img2=cv2.imread(filename2,1)

# ORB Detector
orb = cv2.ORB_create()
kp1, des1 = orb.detectAndCompute(img1, None)
kp2, des2 = orb.detectAndCompute(img2, None)

# Brute Force Matching
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(des1, des2)
matches = sorted(matches, key = lambda x:x.distance)

matching_result = cv2.drawMatches(img1, kp1, img2, kp2, matches[:50], None, flags=2)  
cv2.imshow("Reference image", img1)
cv2.imshow("Image", img2)
img3 = img1 - img2   
cv2.imshow("Matching result", matching_result)
cv2.waitKey(0)
cv2.destroyAllWindows()

Спасибо за вашу помощь.

...