Python opencv画像類似度マッチングのORB+BF
1079 ワード
原文住所:https://www.cnblogs.com/Lin-Yi/p/9433942.html
コードは次のとおりです.
コードは次のとおりです.
# coding:utf-8
import cv2
"""
orb
logo logo
orb logo
"""
#
img1 = cv2.imread("../data/logo1.png", cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread("../data/album1.png", cv2.IMREAD_GRAYSCALE)
# ORB
orb = cv2.ORB_create()
#
keypoint1, descriptor1 = orb.detectAndCompute(img1, None)
keypoint2, descriptor2 = orb.detectAndCompute(img2, None)
"""
keypoint
descriptor ,
"""
#
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
#
maches = bf.match(descriptor1, descriptor2)
#
maches = sorted(maches, key=lambda x: x.distance)
#
img3 = cv2.drawMatches(img1, keypoint1, img2, keypoint2, maches[: 30], img2, flags=2)
cv2.imshow("matches", img3)
cv2.waitKey()
cv2.destroyAllWindows()