The __init__ method involves a lot of steps to initialize the camera matrix, the ORB descriptor extractor, the Kalman filter, the reference image's 2D and 3D keypoints, and other variables related to our tracking algorithm:
- To begin, let's look at the arguments that __init__ accepts. These include a cv2.VideoCapture object, called capture (the camera); the camera's diagonal FOV, in degrees; the expected frame rate in frames per second (FPS); a path to a file containing the reference image; and a measurement of the reference image's real-world height (in any unit):
class ImageTrackingDemo(): def __init__(self, capture, diagonal_fov_degrees=70.0, target_fps=25.0, reference_image_path='reference_image.png', reference_image_real_height=1.0): ...