#include <cv.h>
#include <iostream>
#include <stdio.h>
#include <limits>
#include "posest/planarSFM.h"
#include "sba/sba.h"
Go to the source code of this file.
Classes | |
struct | pe::HomographyDecomposition |
Namespaces | |
namespace | pe |
Functions | |
void | pe::_filterInliers (const vector< Point3f > &obj_pts, const vector< Point2f > &img_pts, const Mat &R, const Mat &T, const Mat &intrinsics, const Mat &distortion, double reprojectionError, vector< bool > &valid) |
double | pe::avgSampsonusError (const Mat &essential, const vector< Point2f > &points1, const vector< Point2f > &points2, double max_error, bool verbose) |
double | pe::calcCamProjCost (sba::SysSBA &sba, int cam) |
Mat | pe::calcEssentialMatrix (const Mat &intrinsics_inv, const Mat &R, const Mat &T) |
double | pe::calcNodeErr (sba::Proj &prj, const sba::Node &nd, const sba::Point &pt) |
float | pe::calcOptimalPointCloudScale (const vector< Point3f > &points1, const vector< Point3f > &points2) |
void | pe::calcRelativeRT (const Mat &R1, const Mat &T1, const Mat &R2, const Mat &T2, Mat &dR, Mat &dT) |
float | pe::calcScaledPointCloudDistance (const vector< Point3f > &points1, const vector< Point3f > &points2) |
void | pe::computeEpipolarInliers (const Mat &essential, const vector< Point2f > &points1, const vector< Point2f > &points2, vector< bool > &inliers, double maxError) |
Computes epipolar inliers. | |
void | pe::computeHomographyInliers (const vector< Point2f > &src1, const vector< Point2f > &src2, const Mat &H, vector< Point2f > &inliers1, vector< Point2f > &inliers2, float maxProjError=2.0f) |
void | pe::dumpDecomposition (const HomographyDecomposition &d) |
void | pe::dumpDecompositions (const vector< HomographyDecomposition > &decompositions) |
void | pe::dumpFltMat (const char *name, const Mat &mat) |
double | pe::filterDecompositionsEpipolar (const Mat &intrinsics, const Mat &intrinsics_inv, vector< HomographyDecomposition > &decompositions, const vector< Point2f > &points1, const vector< Point2f > &points2) |
void | pe::filterDecompositionsVisibility (vector< HomographyDecomposition > &decompositions, const Mat &H, const vector< Point2f > &inliers1, const vector< Point2f > &inliers2) |
double | pe::filterDecompositionsZ (vector< HomographyDecomposition > &decompositions, const vector< Point2f > &points1, const vector< Point2f > &points2, const Mat &intrinsics, const Mat &intrinsics_inv) |
void | pe::filterInliers (const vector< Point3f > &obj_pts, const vector< Point2f > &img1_pts, const vector< Point2f > &img2_pts, const Mat &R, const Mat &T, const Mat &intrinsics, double reprojectionError, vector< bool > &valid) |
void | pe::findNaNPoints (const vector< Point3f > &points, vector< bool > &valid) |
void | pe::findRayIntersection (Point3f k1, Point3f b1, Point3f k2, Point3f b2, Point3f &p) |
bool | pe::homographyDecompose (const Mat &intrinsics, const Mat &_H, vector< HomographyDecomposition > &hd) |
Mat | pe::homographyFromDecomposition (const HomographyDecomposition &decomposition) |
void | pe::initNode (const Mat &intrinsics, const Mat &rvec, const Mat &tvec, sba::Node &node) |
void | pe::keyPoints2Point2f (const vector< KeyPoint > &src, vector< Point2f > &dst) |
void | pe::logDecompositions (std::string filename, const vector< HomographyDecomposition > &decompositions) |
void | pe::matchesFromIndices (const vector< KeyPoint > &_set1, const vector< KeyPoint > &_set2, const vector< int > &indices, vector< Point2f > &points1, vector< Point2f > &points2) |
void | pe::matchesFromIndices (const vector< Point2f > &set1, const vector< Point2f > &set2, const vector< int > &indices, vector< Point2f > &points1, vector< Point2f > &points2) |
void | pe::matchesFromIndices (const vector< KeyPoint > &src1, const vector< KeyPoint > &src2, const vector< cv::DMatch > &indices, vector< Point2f > &dst1, vector< Point2f > &dst2) |
Point3f | pe::mult (const Mat &M, const Point3f &p) |
Point3f | pe::multh (const Mat &M, const Point2f &p) |
bool | pe::operator< (const HomographyDecomposition lhs, const HomographyDecomposition rhs) |
void | pe::planarSFM (Mat &intrinsics, const vector< KeyPoint > &set1, const vector< KeyPoint > &set2, const vector< int > &indices, Mat &H, Mat &R, Mat &T, double reprojectionError) |
Mat | pe::randomHomography (const vector< Point2f > &points1, const vector< Point2f > &points2, vector< Point2f > &sample1, vector< Point2f > &sample2) |
void | pe::reprojectPoint (const Mat &R, const Mat &T, Point3f p1, Point3f p2, Point3f &p) |
void | pe::reprojectPoints (const Mat &intrinsics, const Mat &R, const Mat &T, const vector< Point2f > &p1, const vector< Point2f > &p2, vector< Point3f > &p, vector< bool > &valid) |
void | pe::sample (int max_index, int count, vector< int > &sample_indices) |
static double | pe::SampsonusError (const Mat &essential, Point2f pl, Point2f pr) |
void | pe::sba (const Mat &intrinsics, Mat &rvec, Mat &tvec, vector< Point3f > &points, const vector< Point2f > &points1, const vector< Point2f > &points2) |
void | pe::selectDecomposition (vector< HomographyDecomposition > &decompositions, const Mat &H, const vector< Point2f > &points1, const vector< Point2f > &points2, const vector< Point2f > &inliers1, const vector< Point2f > &inliers2, const Mat &intrinsics, const Mat &intrinsics_inv) |
double | pe::SFM (const Mat &intrinsics, const vector< Point2f > &points1, const vector< Point2f > &points2, Mat &R, Mat &T, double reprojectionError) |
double | pe::SFM (const Mat &intrinsics, const vector< KeyPoint > &set1, const vector< KeyPoint > &set2, const vector< int > &indices, Mat &R, Mat &T, double reprojectionError) |
double | pe::SFMwithSBA (const Mat &intrinsics, vector< Point2f > &points1, vector< Point2f > &points2, Mat &rvec, Mat &T, double reprojectionError) |
double | pe::SFMwithSBA (const Mat &intrinsics, const vector< KeyPoint > &set1, const vector< KeyPoint > &set2, const vector< int > &indices, Mat &rvec, Mat &T, double reprojectionError) |