Matching features and detecting objects

Once we have detected features in two or more objects, and have their descriptors, we can match the features to check whether the images have any similarities. For example, suppose we want to search for a particular book in a heap of many books. OpenCV provides us with two feature matching algorithms:

  • Brute-force matcher
  • FLANN based matcher

We will see how the two work in the following sections.

For matching, we first need to declare some variables:

DescriptorMatcher descriptorMatcher;
MatOfDMatch matches = new MatOfDMatch();

Brute-force matcher

It takes the descriptor of one feature in the first set and matches it with all other features in the second set, using distance calculations, and the closest one is returned. ...

Get Mastering OpenCV Android Application Programming 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.