From: Ilya Lysenkov Date: Thu, 29 Mar 2012 13:21:24 +0000 (+0000) Subject: Added wrappers of cvCorrectMatches (#1350) X-Git-Tag: accepted/2.0/20130307.220821~922 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f29912b5018293c646c564cc5a188f0b4ec5168e;p=profile%2Fivi%2Fopencv.git Added wrappers of cvCorrectMatches (#1350) --- diff --git a/modules/calib3d/include/opencv2/calib3d/calib3d.hpp b/modules/calib3d/include/opencv2/calib3d/calib3d.hpp index 65bdb87..3fb8868 100644 --- a/modules/calib3d/include/opencv2/calib3d/calib3d.hpp +++ b/modules/calib3d/include/opencv2/calib3d/calib3d.hpp @@ -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::delete_obj(); /*! diff --git a/modules/calib3d/src/triangulate.cpp b/modules/calib3d/src/triangulate.cpp index fd2ef52..5b07c51 100644 --- a/modules/calib3d/src/triangulate.cpp +++ b/modules/calib3d/src/triangulate.cpp @@ -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); +}