Added wrappers of cvCorrectMatches (#1350)
authorIlya Lysenkov <no@email>
Thu, 29 Mar 2012 13:21:24 +0000 (13:21 +0000)
committerIlya Lysenkov <no@email>
Thu, 29 Mar 2012 13:21:24 +0000 (13:21 +0000)
modules/calib3d/include/opencv2/calib3d/calib3d.hpp
modules/calib3d/src/triangulate.cpp

index 65bdb87..3fb8868 100644 (file)
@@ -678,6 +678,9 @@ CV_EXPORTS_W void triangulatePoints( InputArray projMatr1, InputArray projMatr2,
                                      InputArray projPoints1, InputArray projPoints2,
                                      OutputArray points4D );
 
+CV_EXPORTS_W void correctMatches( InputArray F, InputArray points1, InputArray points2,
+                                  OutputArray newPoints1, OutputArray newPoints2 );
+
 template<> CV_EXPORTS void Ptr<CvStereoBMState>::delete_obj();
 
 /*!
index fd2ef52..5b07c51 100644 (file)
@@ -423,3 +423,18 @@ void cv::triangulatePoints( InputArray _projMatr1, InputArray _projMatr2,
 
     cvTriangulatePoints(&cvMatr1, &cvMatr2, &cvPoints1, &cvPoints2, &cvPoints4D);
 }
+
+void cv::correctMatches( InputArray _F, InputArray _points1, InputArray _points2,
+                         OutputArray _newPoints1, OutputArray _newPoints2 )
+{
+    Mat F = _F.getMat();
+    Mat points1 = _points1.getMat(), points2 = _points2.getMat();
+    CvMat cvPoints1 = points1, cvPoints2 = points2;
+    CvMat cvF = F;
+
+    _newPoints1.create(points1.size(), points1.type());
+    _newPoints2.create(points2.size(), points2.type());
+    CvMat cvNewPoints1 = _newPoints1.getMat(), cvNewPoints2 = _newPoints2.getMat();
+
+    cvCorrectMatches(&cvF, &cvPoints1, &cvPoints2, &cvNewPoints1, &cvNewPoints2);
+}