'Classify an input image and return the top n results.
* *image* - the input binary image.
* *n* - the number of results to return.
* *blobFilter* - Do a first pass where you only match objects
that have the same number of blobs - speeds up computation
and match quality.'

def getTopNMatches(self, image, n=3, blobFilter=True):

    n = np.clip(n, 1, len(self.labels))
    (points, descriptors, count, matchDict, matchStd) = self._buildMatchDict(image, blobFilter)
    best_matches = list(sorted(matchDict, key=matchDict.__getitem__))
    retList = []
    for k in best_matches:
        retList.append((k, matchDict[k]))
    return (retList[0:n], matchDict, matchStd)
