21#ifndef LIBMV_MULTIVIEW_FUNDAMENTAL_H_
22#define LIBMV_MULTIVIEW_FUNDAMENTAL_H_
38 std::vector<Mat3>* F);
45 std::vector<Mat3>* F);
103 std::vector<Mat3>* Rs,
104 std::vector<Vec3>* ts);
116 const std::vector<Vec3>& ts,
CCL_NAMESPACE_BEGIN struct Options options
double FundamentalFrom7CorrespondencesLinear(const Mat &x1, const Mat &x2, std::vector< Mat3 > *F)
void EssentialFromRt(const Mat3 &R1, const Vec3 &t1, const Mat3 &R2, const Vec3 &t2, Mat3 *E)
double SampsonDistance(const Mat &F, const Vec2 &x1, const Vec2 &x2)
void FundamentalFromEssential(const Mat3 &E, const Mat3 &K1, const Mat3 &K2, Mat3 *F)
void FundamentalFromProjections(const Mat34 &P1, const Mat34 &P2, Mat3 *F)
bool EstimateFundamentalFromCorrespondences(const Mat &x1, const Mat &x2, const EstimateFundamentalOptions &options, Mat3 *F)
Eigen::Matrix< double, 3, 3 > Mat3
void EnforceFundamentalRank2Constraint(Mat3 *F)
void ProjectionsFromFundamental(const Mat3 &F, Mat34 *P1, Mat34 *P2)
void MotionFromEssential(const Mat3 &E, std::vector< Mat3 > *Rs, std::vector< Vec3 > *ts)
bool MotionFromEssentialAndCorrespondence(const Mat3 &E, const Mat3 &K1, const Vec2 &x1, const Mat3 &K2, const Vec2 &x2, Mat3 *R, Vec3 *t)
Eigen::Matrix< double, 3, 4 > Mat34
void NormalizeFundamental(const Mat3 &F, Mat3 *F_normalized)
int MotionFromEssentialChooseSolution(const std::vector< Mat3 > &Rs, const std::vector< Vec3 > &ts, const Mat3 &K1, const Vec2 &x1, const Mat3 &K2, const Vec2 &x2)
void EssentialFromFundamental(const Mat3 &F, const Mat3 &K1, const Mat3 &K2, Mat3 *E)
double NormalizedEightPointSolver(const Mat &x1, const Mat &x2, Mat3 *F)
void RelativeCameraMotion(const Mat3 &R1, const Vec3 &t1, const Mat3 &R2, const Vec3 &t2, Mat3 *R, Vec3 *t)
double SymmetricEpipolarDistance(const Mat &F, const Vec2 &x1, const Vec2 &x2)
void FundamentalToEssential(const Mat3 &F, Mat3 *E)
double FundamentalFromCorrespondences7Point(const Mat &x1, const Mat &x2, std::vector< Mat3 > *F)
double expected_average_symmetric_distance
EstimateFundamentalOptions(void)