How to do it...

You need to complete the following steps:

  1. Import the necessary modules:
import cv2import numpy as npimport matplotlib.pyplot as plt
  1. Load the test images:
img0 = cv2.imread('../data/Lena.png', cv2.IMREAD_GRAYSCALE)img1 = cv2.imread('../data/Lena_rotated.png', cv2.IMREAD_GRAYSCALE)
  1. Detect the keypoints and computer descriptors:
detector = cv2.ORB_create(100)kps0, fea0 = detector.detectAndCompute(img0, None)kps1, fea1 = detector.detectAndCompute(img1, None)matcher = cv2.BFMatcher_create(cv2.NORM_HAMMING, False)matches = matcher.match(fea0, fea1)
  1. Fit the homography model into the found keypoint correspondences robustly and get a mask of inlier matches:
pts0 = np.float32([kps0[m.queryIdx].pt for m in matches]).reshape(-1,2) ...

Get OpenCV 3 Computer Vision with Python Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.