#include <pnp/dls.h>
Public Member Functions | |
dls (const cv::Mat &opoints, const cv::Mat &ipoints) | |
Constructor for DLS class. More... | |
~dls () | |
bool | compute_pose (cv::Mat &R, cv::Mat &t) |
OpenCV function for computing pose. More... | |
Private Member Functions | |
template<typename OpointType , typename IpointType > | |
void | init_points (const cv::Mat &opoints, const cv::Mat &ipoints) |
Initialization of object points and image points. More... | |
cv::Mat | LeftMultVec (const cv::Mat &v) |
Create a matrix from vector. More... | |
void | run_kernel (const cv::Mat &pp) |
Main function to run DLS-PnP. More... | |
void | build_coeff_matrix (const cv::Mat &pp, cv::Mat &Mtilde, cv::Mat &D) |
Build the Maucaulay matrix co-efficients. More... | |
void | compute_eigenvec (const cv::Mat &Mtilde, cv::Mat &eigenval_real, cv::Mat &eigenval_imag, cv::Mat &eigenvec_real, cv::Mat &eigenvec_imag) |
Eigen Value Decomposition. More... | |
void | fill_coeff (const cv::Mat *D) |
Fill the hessian functions. More... | |
cv::Mat | cayley_LS_M (const std::vector< double > &a, const std::vector< double > &b, const std::vector< double > &c, const std::vector< double > &u) |
Fill the Maucaulay matrix with co-efficients. More... | |
cv::Mat | Hessian (const double s[]) |
Compute the Hessian matrix for the polynomial co-efficient vector s. More... | |
cv::Mat | cayley2rotbar (const cv::Mat &s) |
Cayley parameters to Rotation Matrix. More... | |
cv::Mat | skewsymm (const cv::Mat *X1) |
Create a skwy-symmetric matrix from a vector. More... | |
cv::Mat | rotx (const double t) |
Rotation matrix along x-axis by angle t. More... | |
cv::Mat | roty (const double t) |
Rotation matrix along y-axis by angle t. More... | |
cv::Mat | rotz (const double t) |
Rotation matrix along z-axis by angle t. More... | |
cv::Mat | mean (const cv::Mat &M) |
Column-wise mean of matrix M. More... | |
bool | is_empty (const cv::Mat *v) |
Check for negative values in vector v. More... | |
bool | positive_eigenvalues (const cv::Mat *eigenvalues) |
check for positive eigenvalues More... | |
Private Attributes | |
cv::Mat | p |
cv::Mat | z |
cv::Mat | mn |
int | N |
object-image points More... | |
std::vector< double > | f1coeff |
number of input points More... | |
std::vector< double > | f2coeff |
std::vector< double > | f3coeff |
std::vector< double > | cost_ |
std::vector< cv::Mat > | C_est_ |
coefficient for coefficients matrix More... | |
std::vector< cv::Mat > | t_est_ |
cv::Mat | C_est__ |
optimal candidates More... | |
cv::Mat | t_est__ |
double | cost__ |
optimal found solution More... | |
mrpt::vision::pnp::dls::dls | ( | const cv::Mat & | opoints, |
const cv::Mat & | ipoints | ||
) |
Constructor for DLS class.
mrpt::vision::pnp::dls::~dls | ( | ) |
|
private |
Build the Maucaulay matrix co-efficients.
[in] | pp | |
[out] | Mtilde | |
[out] | D |
|
private |
Cayley parameters to Rotation Matrix.
[in] | s |
|
private |
Fill the Maucaulay matrix with co-efficients.
[in] | a | |
[in] | b | |
[in] | c | |
[in] | u |
|
private |
bool mrpt::vision::pnp::dls::compute_pose | ( | cv::Mat & | R, |
cv::Mat & | t | ||
) |
OpenCV function for computing pose.
Referenced by mrpt::vision::pnp::CPnP::dls().
|
private |
Fill the hessian functions.
[in] | D |
|
private |
Compute the Hessian matrix for the polynomial co-efficient vector s.
[in] | s |
|
inlineprivate |
|
private |
Check for negative values in vector v.
[in] | v |
|
private |
Create a matrix from vector.
[in] | v |
|
private |
Column-wise mean of matrix M.
[in] | M |
|
private |
check for positive eigenvalues
[in] | eigenvalues |
|
private |
Rotation matrix along x-axis by angle t.
[in] | t |
|
private |
Rotation matrix along y-axis by angle t.
[in] | t |
|
private |
Rotation matrix along z-axis by angle t.
[in] | t |
|
private |
Main function to run DLS-PnP.
[in] | pp |
|
private |
Create a skwy-symmetric matrix from a vector.
[in] | X1 |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 196 of file dls.h.
Referenced by init_points().
|
private |
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019 |