Book Image

OpenCV with Python Blueprints

By : Michael Beyeler, Michael Beyeler (USD)
Book Image

OpenCV with Python Blueprints

By: Michael Beyeler, Michael Beyeler (USD)

Overview of this book

Table of Contents (14 chapters)
OpenCV with Python Blueprints
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

The process flow


Features are extracted, matched, and tracked by the FeatureMatching class, especially by its public match method. However, before we can begin analyzing the incoming video stream, we have some homework to do. It might not be clear right away what some of these things mean (especially for SURF and FLANN), but we will discuss these steps in detail in the following sections. For now, we only have to worry about initialization:

class FeatureMatching:
     def __init__(self, train_image='salinger.jpg'):
  1. This sets up a SURF detector (see the next section for details) with a Hessian threshold between 300 and 500:

    self.min_hessian = 400
    self.SURF = cv2.SURF(self.min_hessian)
  2. We load a template of our object of interest (self.img_obj), or print an error if it cannot be found:

    self.img_obj = cv2.imread(train_image, cv2.CV_8UC1)
    if self.img_obj is None:
        print "Could not find train image " + train_imageraise SystemExit
  3. Also, store the shape of the image (self.sh_train) for convenience...