Merge pull request #21803 from oguzhanguclu:matches_info_pybinding

python binding for matches and inliers_mask attributes of cv2.detail_MatchesInfo class

* making matches and inliers_mask attributes of cv2.detail_MatchesInfo class accessible from python interface

* binding test for cv2.detail_MatchesInfo class
pull/21809/head
Oguzhan Guclu 3 years ago committed by GitHub
parent a233982931
commit 38788a3161
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      modules/stitching/include/opencv2/stitching/detail/matchers.hpp
  2. 17
      modules/stitching/misc/python/test/test_stitching.py

@ -104,8 +104,8 @@ struct CV_EXPORTS_W_SIMPLE MatchesInfo
CV_PROP_RW int src_img_idx;
CV_PROP_RW int dst_img_idx; //!< Images indices (optional)
std::vector<DMatch> matches;
std::vector<uchar> inliers_mask; //!< Geometrically consistent matches mask
CV_PROP_RW std::vector<DMatch> matches;
CV_PROP_RW std::vector<uchar> inliers_mask; //!< Geometrically consistent matches mask
CV_PROP_RW int num_inliers; //!< Number of geometrically consistent matches
CV_PROP_RW Mat H; //!< Estimated transformation
CV_PROP_RW double confidence; //!< Confidence two images are from the same panorama

@ -118,5 +118,22 @@ class stitching_compose_panorama_args(NewOpenCVTests):
assert result == 0
class stitching_matches_info_test(NewOpenCVTests):
def test_simple(self):
finder = cv.ORB.create()
img1 = self.get_sample('stitching/a1.png')
img2 = self.get_sample('stitching/a2.png')
img_feat1 = cv.detail.computeImageFeatures2(finder, img1)
img_feat2 = cv.detail.computeImageFeatures2(finder, img2)
matcher = cv.detail.BestOf2NearestMatcher_create()
matches_info = matcher.apply(img_feat1, img_feat2)
self.assertIsNotNone(matches_info.matches)
self.assertIsNotNone(matches_info.inliers_mask)
if __name__ == '__main__':
NewOpenCVTests.bootstrap()

Loading…
Cancel
Save