OpenCV Python - 特征匹配
OpenCV 提供了两种特征匹配技术。 Bruteforce 匹配和 FLANN 匹配器技术。
示例
以下示例使用 Bruteforce 方法
import numpy as np import cv2 img1 = cv2.imread('lena.jpg') img2 = cv2.imread('lena-test.jpg') # Convert it to grayscale img1_bw = cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY) img2_bw = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) orb = cv2.ORB_create() queryKeypoints, queryDescriptors = orb.detectAndCompute(img1_bw,None) trainKeypoints, trainDescriptors = orb.detectAndCompute(img2_bw,None) matcher = cv2.BFMatcher() matches = matcher.match(queryDescriptors,trainDescriptors) img = cv2.drawMatches(img1, queryKeypoints, img2, trainKeypoints, matches[:20],None) img = cv2.resize(img, (1000,650)) cv2.imshow("Feature Match", img)