def filter_matches(matches, threshold=0.75):
    """Returns filterd copy of matches grater than given threshold

    Arguments:
        matches {list(tuple(cv2.DMatch))} -- List of tupe of cv2.DMatch objects

    Keyword Arguments:
        threshold {float} -- Filter Threshold (default: {0.75})

    Returns:
        list(cv2.DMatch) -- List of cv2.DMatch objects that satisfy ratio test
    """

    filtered = []
    for m, n in matches:
        if m.distance < threshold * n.distance:
            filtered.append(m)
    return filtered