20 typedef std::pair<uint04, uint04> Match;
23 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
40 bool Reconstruct(
const PrimitiveAlignedBuffer<cv::KeyPoint, 32>& vKeys1,
const PrimitiveAlignedBuffer<cv::KeyPoint, 32>& vKeys2,
const Buffer<uint04>& vMatches12,
45 void FindHomography(
Buffer<bool>& vbMatchesInliers,
float& score, Eigen::Matrix3f& H21);
46 void FindFundamental(
Buffer<bool>& vbInliers,
float& score, Eigen::Matrix3f& F21);
51 float CheckHomography(
const Eigen::Matrix3f& H21,
const Eigen::Matrix3f& H12,
Buffer<bool>& vbMatchesInliers,
float sigma);
53 float CheckFundamental(
const Eigen::Matrix3f& F21,
Buffer<bool>& vbMatchesInliers,
float sigma);
55 bool ReconstructF(
Buffer<bool>& vbMatchesInliers, Eigen::Matrix3f& F21, Eigen::Matrix3f& K,
58 bool ReconstructH(
Buffer<bool>& vbMatchesInliers, Eigen::Matrix3f& H21, Eigen::Matrix3f& K,
61 void Normalize(
const PrimitiveAlignedBuffer<cv::KeyPoint, 32>& vKeys,
Buffer<cv::Point2f>& vNormalizedPoints, Eigen::Matrix3f& T);
64 uint04 CheckRT(
const Eigen::Matrix3f& R,
const Eigen::Vector3f& t,
const PrimitiveAlignedBuffer<cv::KeyPoint, 32>& vKeys1,
const PrimitiveAlignedBuffer<cv::KeyPoint, 32>& vKeys2,
68 void DecomposeE(
const Eigen::Matrix3f& E, Eigen::Matrix3f& R1, Eigen::Matrix3f& R2, Eigen::Vector3f& t);
72 PrimitiveAlignedBuffer<cv::KeyPoint, 32> mvKeys1;
75 PrimitiveAlignedBuffer<cv::KeyPoint, 32> mvKeys2;
85 float mSigma, mSigma2;
EIGEN_MAKE_ALIGNED_OPERATOR_NEW TwoViewReconstruction(const Eigen::Matrix3f &k, float sigma=1.0, uint04 iterations=200U)
Constructs the two-view reconstruction with a calibration matrix.
bool Reconstruct(const PrimitiveAlignedBuffer< cv::KeyPoint, 32 > &vKeys1, const PrimitiveAlignedBuffer< cv::KeyPoint, 32 > &vKeys2, const Buffer< uint04 > &vMatches12, Sophus::SE3f &T21, Buffer< cv::Point3f > &vP3D, Buffer< bool > &vbTriangulated)
Reconstructs geometry from two views.