Tracking the image in 3D

The _track_object method is directly responsible for keypoint matching, keypoint visualizations, and solving the PnP problem. Additionally, it calls other methods to deal with Kalman filtering, AR drawing, and masking the tracked object:

  1. To begin _track_object's implementation, we call our convert_to_gray helper function to convert the frame to grayscale:
    def _track_object(self):        self._gray_image = convert_to_gray(            self._bgr_image, self._gray_image)
  1. Now, we use our cv2.ORB object to detect keypoints and compute descriptors in a masked region of the grayscale image:
        if self._mask is None:            self._mask = numpy.full_like(self._gray_image, 255)        keypoints, descriptors = \            self._feature_detector.detectAndCompute( self._gray_image, ...

Get Learning OpenCV 4 Computer Vision with Python 3 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.