本篇博客主要介绍cv2模块中的特征匹配findHomography。在图像处理中,联合使用特征提取和calib3d模块中的 findHomography,可以实现在复杂图像中查找已知对象。
示例代码:
# encoding:utf-8
import numpy as np
import cv2
import matplotlib.pyplot as plt
min_match_count = 10
img1 = cv2.imread('../data/box.png', 0) # query image
img2 = cv2.imread('../data/box_in_scene.png', 0) # train image
# Initiate SIFT detector
sift = cv2.xfeatures2d.SIFT_create()
# find the keypoints and descriptors with SIFT
kp1, des1 = sift.detectAndCompute(img1, None)
kp2, des2 = sift.detectAndCompute(img2, None)
flann_index_kdtree = 0
index_params = dict(algorithm=flann_index_kdtree, trees=5)
search_params = dict(checks=50)
flann = cv2.FlannBasedMatcher(index_params, search_params)
matches = fl