planarSFM.cpp File Reference

#include <cv.h>
#include <iostream>
#include <stdio.h>
#include <limits>
#include "posest/planarSFM.h"
#include "sba/sba.h"
Include dependency graph for planarSFM.cpp:

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)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


posest
Author(s): Kurt Konolige
autogenerated on Fri Jan 11 09:14:33 2013