OpenCV python's API: FlannBasedMatcher

后端 未结 3 1645
眼角桃花
眼角桃花 2021-01-04 20:36

I am trying to rewrite the code described here. using the python API for Opencv.

The step 3 of the code has this lines:

 FlannBasedMatcher matcher;
          


        
相关标签:
3条回答
  • 2021-01-04 21:23

    I could not post the dead link on the post above because of lack of reputations. So, I am posting it here.

    The dead link(feature_homography.py)

    0 讨论(0)
  • 2021-01-04 21:27

    Looking in the examples provided by OpenCV 2.3.1 under the python2 folder, I found an implementation of a flann based match function which doesn't rely on the FlanBasedMatcher object.

    Here is the code:

    FLANN_INDEX_KDTREE = 1  # bug: flann enums are missing
    
    flann_params = dict(algorithm = FLANN_INDEX_KDTREE,
                        trees = 4)
    
    def match_flann(desc1, desc2, r_threshold = 0.6):
        flann = cv2.flann_Index(desc2, flann_params)
        idx2, dist = flann.knnSearch(desc1, 2, params = {}) # bug: need to provide empty dict
        mask = dist[:,0] / dist[:,1] < r_threshold
        idx1 = np.arange(len(desc1))
        pairs = np.int32( zip(idx1, idx2[:,0]) )
        return pairs[mask]
    
    0 讨论(0)
  • 2021-01-04 21:40

    Pythonic FlannBasedMatcher is already available in OpenCV trunk, but if I remember correctly, it was added after 2.3.1 release.

    Here is OpenCV sample using FlannBasedMatcher: http://code.opencv.org/projects/opencv/repository/revisions/master/entry/samples/python2/feature_homography.py

    0 讨论(0)
提交回复
热议问题