Initial DLS add

This commit is contained in:
edgarriba
2014-07-15 09:58:49 +02:00
parent 9abcd88435
commit fb67ab1257
4 changed files with 48 additions and 2 deletions

View File

@@ -0,0 +1,14 @@
#include <iostream>
#include "dls.h"
dls::dls()
{
// TODO Auto-generated constructor stub
}
dls::~dls()
{
// TODO Auto-generated destructor stub
}

17
modules/calib3d/src/dls.h Normal file
View File

@@ -0,0 +1,17 @@
#ifndef dls_h
#define dls_h
#include "opencv2/core/core_c.h"
class dls
{
public:
dls();
~dls();
private:
};
#endif

View File

@@ -44,6 +44,7 @@
#include "epnp.h"
#include "p3p.h"
#include "opencv2/calib3d/calib3d_c.h"
#include "dls.h"
#include <iostream>
using namespace cv;
@@ -92,6 +93,19 @@ bool cv::solvePnP( InputArray _opoints, InputArray _ipoints,
c_distCoeffs.rows*c_distCoeffs.cols ? &c_distCoeffs : 0,
&c_rvec, &c_tvec, useExtrinsicGuess );
return true;
}
else if (flags == DLS)
{
std::cout << "DLS" << std::endl;
cv::Mat undistortedPoints;
cv::undistortPoints(ipoints, undistortedPoints, cameraMatrix, distCoeffs);
//dls PnP;
// DO SOMETHING
cv::Mat R, rvec = _rvec.getMat(), tvec = _tvec.getMat();
}
else
CV_Error(CV_StsBadArg, "The flags argument must be one of CV_ITERATIVE, CV_P3P or CV_EPNP");