Blender
V3.3
|
Namespaces | |
euclidean_resection | |
homography | |
internal | |
panography | |
resection | |
two_view | |
Typedefs | |
template<class ElementType > | |
using | vector = std::vector< ElementType, Eigen::aligned_allocator< ElementType > > |
typedef Array3D< unsigned char > | Array3Du |
typedef Array3D< unsigned int > | Array3Dui |
typedef Array3D< int > | Array3Di |
typedef Array3D< float > | Array3Df |
typedef Array3D< short > | Array3Ds |
typedef Array3Du | ByteImage |
typedef Array3Df | FloatImage |
typedef Array3Di | IntImage |
typedef Array3Ds | ShortImage |
typedef Eigen::MatrixXd | Mat |
typedef Eigen::VectorXd | Vec |
typedef Eigen::MatrixXf | Matf |
typedef Eigen::VectorXf | Vecf |
typedef Eigen::Matrix< unsigned int, Eigen::Dynamic, Eigen::Dynamic > | Matu |
typedef Eigen::Matrix< unsigned int, Eigen::Dynamic, 1 > | Vecu |
typedef Eigen::Matrix< unsigned int, 2, 1 > | Vec2u |
typedef Eigen::Matrix< double, 2, 2 > | Mat2 |
typedef Eigen::Matrix< double, 2, 3 > | Mat23 |
typedef Eigen::Matrix< double, 3, 3 > | Mat3 |
typedef Eigen::Matrix< double, 3, 4 > | Mat34 |
typedef Eigen::Matrix< double, 3, 5 > | Mat35 |
typedef Eigen::Matrix< double, 4, 1 > | Mat41 |
typedef Eigen::Matrix< double, 4, 3 > | Mat43 |
typedef Eigen::Matrix< double, 4, 4 > | Mat4 |
typedef Eigen::Matrix< double, 4, 6 > | Mat46 |
typedef Eigen::Matrix< float, 2, 2 > | Mat2f |
typedef Eigen::Matrix< float, 2, 3 > | Mat23f |
typedef Eigen::Matrix< float, 3, 3 > | Mat3f |
typedef Eigen::Matrix< float, 3, 4 > | Mat34f |
typedef Eigen::Matrix< float, 3, 5 > | Mat35f |
typedef Eigen::Matrix< float, 4, 3 > | Mat43f |
typedef Eigen::Matrix< float, 4, 4 > | Mat4f |
typedef Eigen::Matrix< float, 4, 6 > | Mat46f |
typedef Eigen::Matrix< double, 3, 3, Eigen::RowMajor > | RMat3 |
typedef Eigen::Matrix< double, 4, 4, Eigen::RowMajor > | RMat4 |
typedef Eigen::Matrix< double, 2, Eigen::Dynamic > | Mat2X |
typedef Eigen::Matrix< double, 3, Eigen::Dynamic > | Mat3X |
typedef Eigen::Matrix< double, 4, Eigen::Dynamic > | Mat4X |
typedef Eigen::Matrix< double, Eigen::Dynamic, 2 > | MatX2 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 3 > | MatX3 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 4 > | MatX4 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 5 > | MatX5 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 6 > | MatX6 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 7 > | MatX7 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 8 > | MatX8 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 9 > | MatX9 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 15 > | MatX15 |
typedef Eigen::Matrix< double, Eigen::Dynamic, 16 > | MatX16 |
typedef Eigen::Vector2d | Vec2 |
typedef Eigen::Vector3d | Vec3 |
typedef Eigen::Vector4d | Vec4 |
typedef Eigen::Matrix< double, 5, 1 > | Vec5 |
typedef Eigen::Matrix< double, 6, 1 > | Vec6 |
typedef Eigen::Matrix< double, 7, 1 > | Vec7 |
typedef Eigen::Matrix< double, 8, 1 > | Vec8 |
typedef Eigen::Matrix< double, 9, 1 > | Vec9 |
typedef Eigen::Matrix< double, 10, 1 > | Vec10 |
typedef Eigen::Matrix< double, 11, 1 > | Vec11 |
typedef Eigen::Matrix< double, 12, 1 > | Vec12 |
typedef Eigen::Matrix< double, 13, 1 > | Vec13 |
typedef Eigen::Matrix< double, 14, 1 > | Vec14 |
typedef Eigen::Matrix< double, 15, 1 > | Vec15 |
typedef Eigen::Matrix< double, 16, 1 > | Vec16 |
typedef Eigen::Matrix< double, 17, 1 > | Vec17 |
typedef Eigen::Matrix< double, 18, 1 > | Vec18 |
typedef Eigen::Matrix< double, 19, 1 > | Vec19 |
typedef Eigen::Matrix< double, 20, 1 > | Vec20 |
typedef Eigen::Vector2f | Vec2f |
typedef Eigen::Vector3f | Vec3f |
typedef Eigen::Vector4f | Vec4f |
typedef Eigen::VectorXi | VecXi |
typedef Eigen::Vector2i | Vec2i |
typedef Eigen::Vector3i | Vec3i |
typedef Eigen::Vector4i | Vec4i |
typedef Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | RMatf |
typedef Eigen::NumTraits< double > | EigenDouble |
typedef unsigned char | ubyte |
Enumerations | |
enum | NumericJacobianMode { CENTRAL , FORWARD } |
enum | BundleIntrinsics { BUNDLE_NO_INTRINSICS = 0 , BUNDLE_FOCAL_LENGTH = (1 << 0) , BUNDLE_PRINCIPAL_POINT = (1 << 1) , BUNDLE_RADIAL_K1 = (1 << 2) , BUNDLE_RADIAL_K2 = (1 << 3) , BUNDLE_RADIAL_K3 = (1 << 4) , BUNDLE_RADIAL_K4 = (1 << 5) , BUNDLE_RADIAL , BUNDLE_TANGENTIAL_P1 = (1 << 6) , BUNDLE_TANGENTIAL_P2 = (1 << 7) , BUNDLE_TANGENTIAL = (BUNDLE_TANGENTIAL_P1 | BUNDLE_TANGENTIAL_P2) } |
enum | BundleConstraints { BUNDLE_NO_CONSTRAINTS = 0 , BUNDLE_NO_TRANSLATION = 1 } |
enum | DistortionModelType { DISTORTION_MODEL_POLYNOMIAL , DISTORTION_MODEL_DIVISION , DISTORTION_MODEL_NUKE , DISTORTION_MODEL_BROWN } |
Functions | |
void * | aligned_malloc (int size, int alignment) |
void | aligned_free (void *ptr) |
void | FloatArrayToScaledByteArray (const Array3Df &float_array, Array3Du *byte_array, bool automatic_range_detection) |
void | ByteArrayToScaledFloatArray (const Array3Du &byte_array, Array3Df *float_array) |
Convert a byte array into a float array by dividing values by 255. More... | |
void | SplitChannels (const Array3Df &input, Array3Df *channel0, Array3Df *channel1, Array3Df *channel2) |
void | PrintArray (const Array3Df &array) |
template<typename AArrayType , typename BArrayType , typename CArrayType > | |
void | MultiplyElements (const AArrayType &a, const BArrayType &b, CArrayType *c) |
template<typename TA , typename TB , typename TC > | |
void | MultiplyElements (const ArrayND< TA, 3 > &a, const ArrayND< TB, 3 > &b, ArrayND< TC, 3 > *c) |
template<typename TA , typename TB , typename TC > | |
void | MultiplyElements (const Array3D< TA > &a, const Array3D< TB > &b, Array3D< TC > *c) |
void | ComputeGaussianKernel (double sigma, Vec *kernel, Vec *derivative) |
template<int size, bool vertical> | |
void | FastConvolve (const Vec &kernel, int width, int height, const float *src, int src_stride, int src_line_stride, float *dst, int dst_stride) |
template<bool vertical> | |
void | Convolve (const Array3Df &in, const Vec &kernel, Array3Df *out_pointer, int plane) |
void | ConvolveHorizontal (const Array3Df &in, const Vec &kernel, Array3Df *out_pointer, int plane) |
void | ConvolveVertical (const Array3Df &in, const Vec &kernel, Array3Df *out_pointer, int plane) |
void | ConvolveGaussian (const Array3Df &in, double sigma, Array3Df *out_pointer) |
void | ImageDerivatives (const Array3Df &in, double sigma, Array3Df *gradient_x, Array3Df *gradient_y) |
void | BlurredImageAndDerivatives (const Array3Df &in, double sigma, Array3Df *blurred_image, Array3Df *gradient_x, Array3Df *gradient_y) |
void | BlurredImageAndDerivativesChannels (const Array3Df &in, double sigma, Array3Df *blurred_and_gradxy) |
void | BoxFilterHorizontal (const Array3Df &in, int window_size, Array3Df *out_pointer) |
void | BoxFilterVertical (const Array3Df &in, int window_size, Array3Df *out_pointer) |
void | BoxFilter (const Array3Df &in, int box_width, Array3Df *out) |
void | LaplaceFilter (unsigned char *src, unsigned char *dst, int width, int height, int strength) |
double | Gaussian (double x, double sigma) |
double | Gaussian2D (double x, double y, double sigma) |
double | GaussianDerivative (double x, double sigma) |
double | GaussianInversePositive (double y, double sigma) |
double | PearsonProductMomentCorrelation (const FloatImage &image_and_gradient1_sampled, const FloatImage &image_and_gradient2_sampled) |
template<typename T > | |
T | RGB2GRAY (const T r, const T g, const T b) |
template<class ImageIn , class ImageOut > | |
void | Rgb2Gray (const ImageIn &imaIn, ImageOut *imaOut) |
template<class Image > | |
unsigned char * | FloatImageToUCharArray (const Image &image) |
template<class Image , class Color > | |
void | safePutPixel (int yc, int xc, const Color &col, Image *pim) |
template<class Image , class Color > | |
void | safePutPixel (int yc, int xc, const Color *col, Image *pim) |
template<class Image , class Color > | |
void | DrawEllipse (int xc, int yc, int radiusA, int radiusB, const Color &col, Image *pim, double angle=0.0) |
template<class Image , class Color > | |
void | DrawCircle (int x, int y, int radius, const Color &col, Image *pim) |
template<class Image , class Color > | |
void | DrawLine (int xa, int ya, int xb, int yb, const Color &col, Image *pim) |
template<typename T > | |
T | SampleNearest (const Array3D< T > &image, float y, float x, int v=0) |
Nearest neighbor interpolation. More... | |
void | LinearInitAxis (float x, int size, int *x1, int *x2, float *dx) |
template<typename T > | |
T | SampleLinear (const Array3D< T > &image, float y, float x, int v=0) |
Linear interpolation. More... | |
template<typename T > | |
void | SampleLinear (const Array3D< T > &image, float y, float x, T *sample) |
void | DownsampleChannelsBy2 (const Array3Df &in, Array3Df *out) |
void | SamplePattern (const FloatImage &image, double x, double y, int half_width, int channels, FloatImage *sampled) |
void | PreconditionerFromPoints (const Mat &points, Mat3 *T) |
void | IsotropicPreconditionerFromPoints (const Mat &points, Mat3 *T) |
void | ApplyTransformationToPoints (const Mat &points, const Mat3 &T, Mat *transformed_points) |
void | NormalizePoints (const Mat &points, Mat *normalized_points, Mat3 *T) |
void | NormalizeIsotropicPoints (const Mat &points, Mat *normalized_points, Mat3 *T) |
static void | EliminateRow (const Mat34 &P, int row, Mat *X) |
void | ProjectionsFromFundamental (const Mat3 &F, Mat34 *P1, Mat34 *P2) |
void | FundamentalFromProjections (const Mat34 &P1, const Mat34 &P2, Mat3 *F) |
static double | EightPointSolver (const Mat &x1, const Mat &x2, Mat3 *F) |
void | EnforceFundamentalRank2Constraint (Mat3 *F) |
double | NormalizedEightPointSolver (const Mat &x1, const Mat &x2, Mat3 *F) |
double | FundamentalFrom7CorrespondencesLinear (const Mat &x1, const Mat &x2, std::vector< Mat3 > *F) |
double | FundamentalFromCorrespondences7Point (const Mat &x1, const Mat &x2, std::vector< Mat3 > *F) |
void | NormalizeFundamental (const Mat3 &F, Mat3 *F_normalized) |
double | SampsonDistance (const Mat &F, const Vec2 &x1, const Vec2 &x2) |
double | SymmetricEpipolarDistance (const Mat &F, const Vec2 &x1, const Vec2 &x2) |
void | EssentialFromFundamental (const Mat3 &F, const Mat3 &K1, const Mat3 &K2, Mat3 *E) |
void | FundamentalFromEssential (const Mat3 &E, const Mat3 &K1, const Mat3 &K2, Mat3 *F) |
void | RelativeCameraMotion (const Mat3 &R1, const Vec3 &t1, const Mat3 &R2, const Vec3 &t2, Mat3 *R, Vec3 *t) |
void | EssentialFromRt (const Mat3 &R1, const Vec3 &t1, const Mat3 &R2, const Vec3 &t2, Mat3 *E) |
void | MotionFromEssential (const Mat3 &E, std::vector< Mat3 > *Rs, std::vector< Vec3 > *ts) |
int | MotionFromEssentialChooseSolution (const std::vector< Mat3 > &Rs, const std::vector< Vec3 > &ts, const Mat3 &K1, const Vec2 &x1, const Mat3 &K2, const Vec2 &x2) |
bool | MotionFromEssentialAndCorrespondence (const Mat3 &E, const Mat3 &K1, const Vec2 &x1, const Mat3 &K2, const Vec2 &x2, Mat3 *R, Vec3 *t) |
void | FundamentalToEssential (const Mat3 &F, Mat3 *E) |
bool | EstimateFundamentalFromCorrespondences (const Mat &x1, const Mat &x2, const EstimateFundamentalOptions &options, Mat3 *F) |
static bool | Homography2DFromCorrespondencesLinearEuc (const Mat &x1, const Mat &x2, Mat3 *H, double expected_precision) |
bool | Homography2DFromCorrespondencesLinear (const Mat &x1, const Mat &x2, Mat3 *H, double expected_precision) |
bool | EstimateHomography2DFromCorrespondences (const Mat &x1, const Mat &x2, const EstimateHomographyOptions &options, Mat3 *H) |
bool | Homography3DFromCorrespondencesLinear (const Mat &x1, const Mat &x2, Mat4 *H, double expected_precision) |
double | SymmetricGeometricDistance (const Mat3 &H, const Vec2 &x1, const Vec2 &x2) |
template<typename T > | |
void | NViewTriangulate (const Matrix< T, 2, Dynamic > &x, const vector< Matrix< T, 3, 4 >> &Ps, Matrix< T, 4, 1 > *X) |
template<typename T > | |
void | NViewTriangulateAlgebraic (const Matrix< T, 2, Dynamic > &x, const vector< Matrix< T, 3, 4 >> &Ps, Matrix< T, 4, 1 > *X) |
static bool | Build_Minimal2Point_PolynomialFactor (const Mat &x1, const Mat &x2, double *P) |
void | F_FromCorrespondance_2points (const Mat &x1, const Mat &x2, vector< double > *fs) |
void | GetR_FixedCameraCenter (const Mat &x1, const Mat &x2, const double focal, Mat3 *R) |
void | P_From_KRt (const Mat3 &K, const Mat3 &R, const Vec3 &t, Mat34 *P) |
void | KRt_From_P (const Mat34 &P, Mat3 *Kp, Mat3 *Rp, Vec3 *tp) |
void | ProjectionShiftPrincipalPoint (const Mat34 &P, const Vec2 &principal_point, const Vec2 &principal_point_new, Mat34 *P_new) |
void | ProjectionChangeAspectRatio (const Mat34 &P, const Vec2 &principal_point, double aspect_ratio, double aspect_ratio_new, Mat34 *P_new) |
void | HomogeneousToEuclidean (const Mat &H, Mat *X) |
void | HomogeneousToEuclidean (const Mat3X &h, Mat2X *e) |
void | HomogeneousToEuclidean (const Mat4X &h, Mat3X *e) |
void | HomogeneousToEuclidean (const Vec3 &H, Vec2 *X) |
void | HomogeneousToEuclidean (const Vec4 &H, Vec3 *X) |
void | EuclideanToHomogeneous (const Mat &X, Mat *H) |
void | EuclideanToHomogeneous (const Vec2 &X, Vec3 *H) |
void | EuclideanToHomogeneous (const Vec3 &X, Vec4 *H) |
void | EuclideanToNormalizedCamera (const Mat2X &x, const Mat3 &K, Mat2X *n) |
void | HomogeneousToNormalizedCamera (const Mat3X &x, const Mat3 &K, Mat2X *n) |
double | Depth (const Mat3 &R, const Vec3 &t, const Vec3 &X) |
double | Depth (const Mat3 &R, const Vec3 &t, const Vec4 &X) |
Vec2 | HomogeneousToEuclidean (const Vec3 &h) |
Vec3 | HomogeneousToEuclidean (const Vec4 &h) |
Mat2X | HomogeneousToEuclidean (const Mat3X &h) |
Mat3X | EuclideanToHomogeneous (const Mat2X &x) |
void | EuclideanToHomogeneous (const Mat2X &x, Mat3X *h) |
Mat4X | EuclideanToHomogeneous (const Mat3X &x) |
void | EuclideanToHomogeneous (const Mat3X &x, Mat4X *h) |
Vec3 | EuclideanToHomogeneous (const Vec2 &x) |
Vec4 | EuclideanToHomogeneous (const Vec3 &x) |
Vec2 | Project (const Mat34 &P, const Vec3 &X) |
void | Project (const Mat34 &P, const Vec4 &X, Vec3 *x) |
void | Project (const Mat34 &P, const Vec4 &X, Vec2 *x) |
void | Project (const Mat34 &P, const Vec3 &X, Vec3 *x) |
void | Project (const Mat34 &P, const Vec3 &X, Vec2 *x) |
void | Project (const Mat34 &P, const Mat4X &X, Mat2X *x) |
Mat2X | Project (const Mat34 &P, const Mat4X &X) |
void | Project (const Mat34 &P, const Mat3X &X, Mat2X *x) |
void | Project (const Mat34 &P, const Mat3X &X, const Vecu &ids, Mat2X *x) |
Mat2X | Project (const Mat34 &P, const Mat3X &X) |
Mat2X | Project (const Mat34 &P, const Mat3X &X, const Vecu &ids) |
bool | isInFrontOfCamera (const Mat34 &P, const Vec4 &X) |
bool | isInFrontOfCamera (const Mat34 &P, const Vec3 &X) |
Vec2 | ImageToNormImageCoordinates (Mat3 &Kinverse, Vec2 &x) |
double | RootMeanSquareError (const Mat2X &x_image, const Mat4X &X_world, const Mat34 &P) |
Estimates the root mean square error (2D) More... | |
double | RootMeanSquareError (const Mat2X &x_image, const Mat3X &X_world, const Mat3 &K, const Mat3 &R, const Vec3 &t) |
Estimates the root mean square error (2D) More... | |
TwoViewDataSet | TwoRealisticCameras (bool same_K) |
NViewDataSet | NRealisticCamerasFull (int nviews, int npoints, const nViewDatasetConfigator config) |
NViewDataSet | NRealisticCamerasSparse (int nviews, int npoints, float view_ratio, unsigned min_projections, const nViewDatasetConfigator config) |
void | TriangulateDLT (const Mat34 &P1, const Vec2 &x1, const Mat34 &P2, const Vec2 &x2, Vec4 *X_homogeneous) |
void | TriangulateDLT (const Mat34 &P1, const Vec2 &x1, const Mat34 &P2, const Vec2 &x2, Vec3 *X_euclidean) |
template<typename Function , typename Jacobian > | |
bool | CheckJacobian (const Function &f, const typename Function::XMatrixType &x) |
Mat3 | RotationAroundX (double angle) |
Mat3 | RotationAroundY (double angle) |
Mat3 | RotationAroundZ (double angle) |
Mat3 | RotationRodrigues (const Vec3 &axis) |
Mat3 | LookAt (Vec3 center) |
Mat3 | CrossProductMatrix (const Vec3 &x) |
void | MeanAndVarianceAlongRows (const Mat &A, Vec *mean_pointer, Vec *variance_pointer) |
void | HorizontalStack (const Mat &left, const Mat &right, Mat *stacked) |
void | MatrixColumn (const Mat &A, int i, Vec2 *v) |
void | MatrixColumn (const Mat &A, int i, Vec3 *v) |
void | MatrixColumn (const Mat &A, int i, Vec4 *v) |
template<typename TMat , typename TVec > | |
void | SVD (TMat *, Vec *, Mat *, Mat *) |
template<typename TMat , typename TVec > | |
double | Nullspace (TMat *A, TVec *nullspace) |
template<typename TMat , typename TVec1 , typename TVec2 > | |
double | Nullspace2 (TMat *A, TVec1 *x1, TVec2 *x2) |
template<class TA > | |
void | TransposeInPlace (TA *A) |
template<typename TVec > | |
double | NormL1 (const TVec &x) |
template<typename TVec > | |
double | NormL2 (const TVec &x) |
template<typename TVec > | |
double | NormLInfinity (const TVec &x) |
template<typename TVec > | |
double | DistanceL1 (const TVec &x, const TVec &y) |
template<typename TVec > | |
double | DistanceL2 (const TVec &x, const TVec &y) |
template<typename TVec > | |
double | DistanceLInfinity (const TVec &x, const TVec &y) |
template<typename TVec > | |
double | NormalizeL1 (TVec *x) |
template<typename TVec > | |
double | NormalizeL2 (TVec *x) |
template<typename TVec > | |
double | NormalizeLInfinity (TVec *x) |
template<typename T > | |
T | Square (T x) |
template<typename TVec > | |
Mat | Diag (const TVec &x) |
template<typename TMat > | |
double | FrobeniusNorm (const TMat &A) |
template<typename TMat > | |
double | FrobeniusDistance (const TMat &A, const TMat &B) |
Vec3 | CrossProduct (const Vec3 &x, const Vec3 &y) |
template<typename T , int RowsLeft, int RowsRight, int ColsLeft, int ColsRight> | |
Eigen::Matrix< T, ROWS, COLS > | HStack (const Eigen::Matrix< T, RowsLeft, ColsLeft > &left, const Eigen::Matrix< T, RowsRight, ColsRight > &right) |
template<typename T , int RowsLeft, int RowsRight, int ColsLeft, int ColsRight> | |
Eigen::Matrix< T, COLS, ROWS > | VStack (const Eigen::Matrix< T, ColsLeft, RowsLeft > &top, const Eigen::Matrix< T, ColsRight, RowsRight > &bottom) |
template<typename TTop , typename TBot , typename TStacked > | |
void | VerticalStack (const TTop &top, const TBot &bottom, TStacked *stacked) |
template<typename TMat , typename TCols > | |
TMat | ExtractColumns (const TMat &A, const TCols &columns) |
template<typename TMat , typename TDest > | |
void | reshape (const TMat &a, int rows, int cols, TDest *b) |
bool | isnan (double i) |
template<typename FloatType > | |
FloatType | ceil0 (const FloatType &value) |
Mat3 | SkewMat (const Vec3 &x) |
Returns the skew anti-symmetric matrix of a vector. More... | |
Mat23 | SkewMatMinimal (const Vec2 &x) |
Mat3 | RotationFromEulerVector (Vec3 euler_vector) |
Returns the rotaiton matrix built from given vector of euler angles. More... | |
template<typename Real > | |
int | SolveCubicPolynomial (Real a, Real b, Real c, Real *x0, Real *x1, Real *x2) |
template<typename Real > | |
int | SolveCubicPolynomial (const Real *coeffs, Real *solutions) |
void | EuclideanBundle (const Tracks &tracks, EuclideanReconstruction *reconstruction) |
void | EuclideanBundleCommonIntrinsics (const Tracks &tracks, const int bundle_intrinsics, const int bundle_constraints, EuclideanReconstruction *reconstruction, CameraIntrinsics *intrinsics, BundleEvaluation *evaluation) |
void | ProjectiveBundle (const Tracks &, ProjectiveReconstruction *) |
std::ostream & | operator<< (std::ostream &os, const CameraIntrinsics &intrinsics) |
A human-readable representation of the camera intrinsic parameters. More... | |
TEST (PolynomialCameraIntrinsics2, ApplyOnFocalCenter) | |
TEST (PolynomialCameraIntrinsics, InvertOnFocalCenter) | |
TEST (PolynomialCameraIntrinsics, ApplyIntrinsics) | |
TEST (PolynomialCameraIntrinsics, InvertIntrinsics) | |
TEST (PolynomialCameraIntrinsics, ApplyIsInvertibleSimple) | |
TEST (PolynomialCameraIntrinsics, IdentityDistortBuffer) | |
TEST (PolynomialCameraIntrinsics, IdentityUndistortBuffer) | |
void | Detect (const FloatImage &image, const DetectOptions &options, vector< Feature > *detected_features) |
std::ostream & | operator<< (std::ostream &os, const Feature &feature) |
TEST (Detect, FASTSinglePointTest) | |
TEST (Detect, HarrisSinglePointTest) | |
TEST (Detect, HarrisSingleTriangleTest) | |
void | InvertPolynomialDistortionModel (const double focal_length_x, const double focal_length_y, const double principal_point_x, const double principal_point_y, const double k1, const double k2, const double k3, const double p1, const double p2, const double image_x, const double image_y, double *normalized_x, double *normalized_y) |
void | InvertDivisionDistortionModel (const double focal_length_x, const double focal_length_y, const double principal_point_x, const double principal_point_y, const double k1, const double k2, const double image_x, const double image_y, double *normalized_x, double *normalized_y) |
void | InvertBrownDistortionModel (const double focal_length_x, const double focal_length_y, const double principal_point_x, const double principal_point_y, const double k1, const double k2, const double k3, const double k4, const double p1, const double p2, const double image_x, const double image_y, double *normalized_x, double *normalized_y) |
void | ApplyNukeDistortionModel (const double focal_length_x, const double focal_length_y, const double principal_point_x, const double principal_point_y, const int image_width, const int image_height, const double k1, const double k2, const double normalized_x, const double normalized_y, double *image_x, double *image_y) |
template<typename T > | |
void | ApplyPolynomialDistortionModel (const T &focal_length_x, const T &focal_length_y, const T &principal_point_x, const T &principal_point_y, const T &k1, const T &k2, const T &k3, const T &p1, const T &p2, const T &normalized_x, const T &normalized_y, T *image_x, T *image_y) |
template<typename T > | |
void | ApplyDivisionDistortionModel (const T &focal_length_x, const T &focal_length_y, const T &principal_point_x, const T &principal_point_y, const T &k1, const T &k2, const T &normalized_x, const T &normalized_y, T *image_x, T *image_y) |
template<typename T > | |
void | InvertNukeDistortionModel (const T &focal_length_x, const T &focal_length_y, const T &principal_point_x, const T &principal_point_y, const int image_width, const int image_height, const T &k1, const T &k2, const T &image_x, const T &image_y, T *normalized_x, T *normalized_y) |
template<typename T > | |
void | ApplyBrownDistortionModel (const T &focal_length_x, const T &focal_length_y, const T &principal_point_x, const T &principal_point_y, const T &k1, const T &k2, const T &k3, const T &k4, const T &p1, const T &p2, const T &normalized_x, const T &normalized_y, T *image_x, T *image_y) |
bool | EuclideanReconstructTwoFrames (const vector< Marker > &markers, EuclideanReconstruction *reconstruction) |
bool | ProjectiveReconstructTwoFrames (const vector< Marker > &markers, ProjectiveReconstruction *reconstruction) |
bool | EuclideanIntersect (const vector< Marker > &markers, EuclideanReconstruction *reconstruction) |
bool | ProjectiveIntersect (const vector< Marker > &markers, ProjectiveReconstruction *reconstruction) |
TEST (Intersect, EuclideanIntersect) | |
void | SelectKeyframesBasedOnGRICAndVariance (const Tracks &_tracks, const CameraIntrinsics &intrinsics, vector< int > &keyframes) |
TEST (KeyframeSelection, SyntheticNeighborFrame) | |
TEST (KeyframeSelection, FabrikEingangNeighborFrames) | |
TEST (KeyframeSelection, FabrikEingangFarFrames) | |
TEST (KeyframeSelection, CopterManualKeyFrames) | |
TEST (KeyframeSelection, ElevatorManualKeyframesFrames) | |
TEST (KeyframeSelection, ElevatorReconstructionVarianceTest) | |
void | ModalSolver (const Tracks &tracks, EuclideanReconstruction *reconstruction, ProgressUpdateCallback *update_callback) |
TEST (ModalSolver, SyntheticCubeSceneMotion) | |
static void | CompleteReconstructionLogProgress (ProgressUpdateCallback *update_callback, double progress, const char *step=NULL) |
template<typename PipelineRoutines > | |
void | InternalCompleteReconstruction (const Tracks &tracks, typename PipelineRoutines::Reconstruction *reconstruction, ProgressUpdateCallback *update_callback=NULL) |
template<typename PipelineRoutines > | |
double | InternalReprojectionError (const Tracks &image_tracks, const typename PipelineRoutines::Reconstruction &reconstruction, const CameraIntrinsics &intrinsics) |
double | EuclideanReprojectionError (const Tracks &image_tracks, const EuclideanReconstruction &reconstruction, const CameraIntrinsics &intrinsics) |
double | ProjectiveReprojectionError (const Tracks &image_tracks, const ProjectiveReconstruction &reconstruction, const CameraIntrinsics &intrinsics) |
void | EuclideanCompleteReconstruction (const Tracks &tracks, EuclideanReconstruction *reconstruction, ProgressUpdateCallback *update_callback) |
void | ProjectiveCompleteReconstruction (const Tracks &tracks, ProjectiveReconstruction *reconstruction) |
void | InvertIntrinsicsForTracks (const Tracks &raw_tracks, const CameraIntrinsics &camera_intrinsics, Tracks *calibrated_tracks) |
void | EuclideanScaleToUnity (EuclideanReconstruction *reconstruction) |
bool | EuclideanResect (const vector< Marker > &markers, EuclideanReconstruction *reconstruction, bool final_pass) |
bool | ProjectiveResect (const vector< Marker > &markers, ProjectiveReconstruction *reconstruction) |
void | CoordinatesForMarkersInImage (const vector< Marker > &markers, int image, Mat *coordinates) |
static void | ComputeTrackingEquation (const Array3Df &image_and_gradient1, const Array3Df &image_and_gradient2, double x1, double y1, double x2, double y2, int half_width, float *gxx, float *gxy, float *gyy, float *ex, float *ey) |
static bool | RegionIsInBounds (const FloatImage &image1, double x, double y, int half_window_size) |
static void | MakePyramid (const FloatImage &image, int num_levels, std::vector< FloatImage > *pyramid) |
template<typename Warp > | |
void | TemplatedTrackRegion (const FloatImage &image1, const FloatImage &image2, const double *x1, const double *y1, const TrackRegionOptions &options, double *x2, double *y2, TrackRegionResult *result) |
void | TrackRegion (const FloatImage &image1, const FloatImage &image2, const double *x1, const double *y1, const TrackRegionOptions &options, double *x2, double *y2, TrackRegionResult *result) |
bool | SamplePlanarPatch (const FloatImage &image, const double *xs, const double *ys, int num_samples_x, int num_samples_y, FloatImage *mask, FloatImage *patch, double *warped_position_x, double *warped_position_y) |
static void | ComputeTrackingEquation (const Array3Df &image_and_gradient1, const Array3Df &image_and_gradient2, double x1, double y1, double x2, double y2, int half_width, double lambda, Mat2f *U, Vec2f *e) |
static bool | RegionIsInBounds (const FloatImage &image1, double x, double y, int half_window_size) |
typedef Array3D<float> libmv::Array3Df |
Definition at line 366 of file array_nd.h.
typedef Array3D<int> libmv::Array3Di |
Definition at line 365 of file array_nd.h.
typedef Array3D<short> libmv::Array3Ds |
Definition at line 367 of file array_nd.h.
typedef Array3D<unsigned char> libmv::Array3Du |
Definition at line 363 of file array_nd.h.
typedef Array3D<unsigned int> libmv::Array3Dui |
Definition at line 364 of file array_nd.h.
typedef Array3Du libmv::ByteImage |
Definition at line 30 of file libmv/libmv/image/image.h.
typedef Eigen::NumTraits<double> libmv::EigenDouble |
typedef Array3Df libmv::FloatImage |
Definition at line 31 of file libmv/libmv/image/image.h.
typedef Array3Di libmv::IntImage |
Definition at line 34 of file libmv/libmv/image/image.h.
typedef Eigen::MatrixXd libmv::Mat |
typedef Eigen::Matrix<double, 2, 2> libmv::Mat2 |
typedef Eigen::Matrix<double, 2, 3> libmv::Mat23 |
typedef Eigen::Matrix<float, 2, 3> libmv::Mat23f |
typedef Eigen::Matrix<float, 2, 2> libmv::Mat2f |
typedef Eigen::Matrix<double, 2, Eigen::Dynamic> libmv::Mat2X |
typedef Eigen::Matrix<double, 3, 3> libmv::Mat3 |
typedef Eigen::Matrix<double, 3, 4> libmv::Mat34 |
typedef Eigen::Matrix<float, 3, 4> libmv::Mat34f |
typedef Eigen::Matrix<double, 3, 5> libmv::Mat35 |
typedef Eigen::Matrix<float, 3, 5> libmv::Mat35f |
typedef Eigen::Matrix<float, 3, 3> libmv::Mat3f |
typedef Eigen::Matrix<double, 3, Eigen::Dynamic> libmv::Mat3X |
typedef Eigen::Matrix<double, 4, 4> libmv::Mat4 |
typedef Eigen::Matrix<double, 4, 1> libmv::Mat41 |
typedef Eigen::Matrix<double, 4, 3> libmv::Mat43 |
typedef Eigen::Matrix<float, 4, 3> libmv::Mat43f |
typedef Eigen::Matrix<double, 4, 6> libmv::Mat46 |
typedef Eigen::Matrix<float, 4, 6> libmv::Mat46f |
typedef Eigen::Matrix<float, 4, 4> libmv::Mat4f |
typedef Eigen::Matrix<double, 4, Eigen::Dynamic> libmv::Mat4X |
typedef Eigen::MatrixXf libmv::Matf |
typedef Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic> libmv::Matu |
typedef Eigen::Matrix<double, Eigen::Dynamic, 15> libmv::MatX15 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 16> libmv::MatX16 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 2> libmv::MatX2 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 3> libmv::MatX3 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 4> libmv::MatX4 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 5> libmv::MatX5 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 6> libmv::MatX6 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 7> libmv::MatX7 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 8> libmv::MatX8 |
typedef Eigen::Matrix<double, Eigen::Dynamic, 9> libmv::MatX9 |
typedef Eigen::Matrix<double, 3, 3, Eigen::RowMajor> libmv::RMat3 |
typedef Eigen::Matrix<double, 4, 4, Eigen::RowMajor> libmv::RMat4 |
typedef Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> libmv::RMatf |
typedef Array3Ds libmv::ShortImage |
Definition at line 35 of file libmv/libmv/image/image.h.
typedef unsigned char libmv::ubyte |
typedef Eigen::VectorXd libmv::Vec |
typedef Eigen::Matrix<double, 10, 1> libmv::Vec10 |
typedef Eigen::Matrix<double, 11, 1> libmv::Vec11 |
typedef Eigen::Matrix<double, 12, 1> libmv::Vec12 |
typedef Eigen::Matrix<double, 13, 1> libmv::Vec13 |
typedef Eigen::Matrix<double, 14, 1> libmv::Vec14 |
typedef Eigen::Matrix<double, 15, 1> libmv::Vec15 |
typedef Eigen::Matrix<double, 16, 1> libmv::Vec16 |
typedef Eigen::Matrix<double, 17, 1> libmv::Vec17 |
typedef Eigen::Matrix<double, 18, 1> libmv::Vec18 |
typedef Eigen::Matrix<double, 19, 1> libmv::Vec19 |
typedef Eigen::Vector2d libmv::Vec2 |
typedef Eigen::Matrix<double, 20, 1> libmv::Vec20 |
typedef Eigen::Vector2f libmv::Vec2f |
typedef Eigen::Vector2i libmv::Vec2i |
typedef Eigen::Matrix<unsigned int, 2, 1> libmv::Vec2u |
typedef Eigen::Vector3d libmv::Vec3 |
typedef Eigen::Vector3f libmv::Vec3f |
typedef Eigen::Vector3i libmv::Vec3i |
typedef Eigen::Vector4d libmv::Vec4 |
typedef Eigen::Vector4f libmv::Vec4f |
typedef Eigen::Vector4i libmv::Vec4i |
typedef Eigen::Matrix<double, 5, 1> libmv::Vec5 |
typedef Eigen::Matrix<double, 6, 1> libmv::Vec6 |
typedef Eigen::Matrix<double, 7, 1> libmv::Vec7 |
typedef Eigen::Matrix<double, 8, 1> libmv::Vec8 |
typedef Eigen::Matrix<double, 9, 1> libmv::Vec9 |
typedef Eigen::VectorXf libmv::Vecf |
using libmv::vector = typedef std::vector<ElementType, Eigen::aligned_allocator<ElementType> > |
Definition at line 39 of file libmv/libmv/base/vector.h.
typedef Eigen::Matrix<unsigned int, Eigen::Dynamic, 1> libmv::Vecu |
typedef Eigen::VectorXi libmv::VecXi |
Refine camera poses and 3D coordinates using bundle adjustment.
This routine adjusts all cameras positions, points, and the camera intrinsics (assumed common across all images) in *reconstruction. This assumes a full observation for reconstructed tracks; this implies that if there is a reconstructed 3D point (a bundle) for a track, then all markers for that track will be included in the minimization. tracks should contain markers used in the initial reconstruction.
The cameras, bundles, and intrinsics are refined in-place.
Constraints denotes which blocks to keep constant during bundling. For example it is useful to keep camera translations constant when bundling tripod motions.
If evaluaiton is not null, different evaluation statistics is filled in there, plus all the requested additional information (like jacobian) is also calculating there. Also see comments for BundleEvaluation.
Enumerator | |
---|---|
DISTORTION_MODEL_POLYNOMIAL | |
DISTORTION_MODEL_DIVISION | |
DISTORTION_MODEL_NUKE | |
DISTORTION_MODEL_BROWN |
Definition at line 28 of file distortion_models.h.
Enumerator | |
---|---|
CENTRAL | |
FORWARD |
Definition at line 34 of file function_derivative.h.
Definition at line 63 of file aligned_malloc.cc.
Referenced by libmv::BruteRegionTracker::Track().
void * libmv::aligned_malloc | ( | int | size, |
int | alignment | ||
) |
Definition at line 45 of file aligned_malloc.cc.
|
inline |
Definition at line 224 of file distortion_models.h.
Referenced by libmv::BrownCameraIntrinsics::ApplyIntrinsics().
|
inline |
Definition at line 109 of file distortion_models.h.
Referenced by libmv::DivisionCameraIntrinsics::ApplyIntrinsics().
void libmv::ApplyNukeDistortionModel | ( | const double | focal_length_x, |
const double | focal_length_y, | ||
const double | principal_point_x, | ||
const double | principal_point_y, | ||
const int | image_width, | ||
const int | image_height, | ||
const double | k1, | ||
const double | k2, | ||
const double | normalized_x, | ||
const double | normalized_y, | ||
double * | image_x, | ||
double * | image_y | ||
) |
Definition at line 380 of file distortion_models.cc.
References image(), and params.
Referenced by libmv::NukeCameraIntrinsics::ApplyIntrinsics().
|
inline |
Definition at line 57 of file distortion_models.h.
Referenced by libmv::PolynomialCameraIntrinsics::ApplyIntrinsics().
void libmv::ApplyTransformationToPoints | ( | const Mat & | points, |
const Mat3 & | T, | ||
Mat * | transformed_points | ||
) |
Definition at line 69 of file conditioning.cc.
References EuclideanToHomogeneous(), HomogeneousToEuclidean(), and T.
Referenced by FundamentalFromCorrespondences7Point(), NormalizedEightPointSolver(), NormalizeIsotropicPoints(), and NormalizePoints().
void libmv::BlurredImageAndDerivatives | ( | const Array3Df & | in, |
double | sigma, | ||
Array3Df * | blurred_image, | ||
Array3Df * | gradient_x, | ||
Array3Df * | gradient_y | ||
) |
Definition at line 208 of file convolve.cc.
References ComputeGaussianKernel(), ConvolveHorizontal(), ConvolveVertical(), and kernel.
void libmv::BlurredImageAndDerivativesChannels | ( | const Array3Df & | in, |
double | sigma, | ||
Array3Df * | blurred_and_gradxy | ||
) |
Definition at line 233 of file convolve.cc.
References ComputeGaussianKernel(), ConvolveHorizontal(), ConvolveVertical(), libmv::Array3D< T >::Depth(), libmv::Array3D< T >::Height(), kernel, libmv::Array3D< T >::Resize(), and libmv::Array3D< T >::Width().
Referenced by TemplatedTrackRegion(), libmv::BruteRegionTracker::Track(), libmv::KltRegionTracker::Track(), and libmv::TrkltRegionTracker::Track().
Definition at line 323 of file convolve.cc.
References BoxFilterHorizontal(), BoxFilterVertical(), and usdtokens::out().
Definition at line 255 of file convolve.cc.
References libmv::Array3D< T >::Depth(), libmv::Array3D< T >::Height(), usdtokens::out(), sum(), and libmv::Array3D< T >::Width().
Referenced by BoxFilter().
Definition at line 289 of file convolve.cc.
References libmv::Array3D< T >::Depth(), libmv::Array3D< T >::Height(), usdtokens::out(), sum(), and libmv::Array3D< T >::Width().
Referenced by BoxFilter().
|
static |
Definition at line 26 of file panography.cc.
References P(), transpose(), and x2.
Referenced by F_FromCorrespondance_2points().
Convert a byte array into a float array by dividing values by 255.
Definition at line 56 of file array_nd.cc.
References libmv::Array3D< T >::Depth(), libmv::Array3D< T >::Height(), libmv::ArrayND< T, N >::ResizeLike(), and libmv::Array3D< T >::Width().
FloatType libmv::ceil0 | ( | const FloatType & | value | ) |
bool libmv::CheckJacobian | ( | const Function & | f, |
const typename Function::XMatrixType & | x | ||
) |
Definition at line 96 of file function_derivative.h.
|
static |
Definition at line 126 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References libmv::ProgressUpdateCallback::invoke(), and snprintf.
Referenced by InternalCompleteReconstruction().
Definition at line 32 of file convolve.cc.
References Gaussian(), GaussianDerivative(), GaussianInversePositive(), kernel, NormalizeL1(), and width.
Referenced by BlurredImageAndDerivatives(), BlurredImageAndDerivativesChannels(), ConvolveGaussian(), and ImageDerivatives().
|
static |
Definition at line 34 of file trklt_region_tracker.cc.
References A, B, C, Freestyle::c, D, e, I, R, r, SampleLinear(), V, x2, and y1.
|
static |
Definition at line 36 of file klt_region_tracker.cc.
References Freestyle::c, I, r, SampleLinear(), x2, and y1.
Referenced by libmv::KltRegionTracker::Track(), and libmv::TrkltRegionTracker::Track().
void libmv::Convolve | ( | const Array3Df & | in, |
const Vec & | kernel, | ||
Array3Df * | out_pointer, | ||
int | plane | ||
) |
Definition at line 102 of file convolve.cc.
References libmv::ArrayND< T, N >::Data(), libmv::Array3D< T >::Height(), height, kernel, usdtokens::out(), src, static_convolution, libmv::ArrayND< T, N >::Stride(), sum(), libmv::Array3D< T >::Width(), width, x, and y.
Definition at line 182 of file convolve.cc.
References ComputeGaussianKernel(), ConvolveHorizontal(), ConvolveVertical(), and kernel.
void libmv::ConvolveHorizontal | ( | const Array3Df & | in, |
const Vec & | kernel, | ||
Array3Df * | out_pointer, | ||
int | plane | ||
) |
Definition at line 168 of file convolve.cc.
References kernel.
Referenced by BlurredImageAndDerivatives(), BlurredImageAndDerivativesChannels(), ConvolveGaussian(), and ImageDerivatives().
void libmv::ConvolveVertical | ( | const Array3Df & | in, |
const Vec & | kernel, | ||
Array3Df * | out_pointer, | ||
int | plane | ||
) |
Definition at line 175 of file convolve.cc.
References kernel.
Referenced by BlurredImageAndDerivatives(), BlurredImageAndDerivativesChannels(), ConvolveGaussian(), and ImageDerivatives().
void libmv::CoordinatesForMarkersInImage | ( | const vector< Marker > & | markers, |
int | image, | ||
Mat * | coordinates | ||
) |
Definition at line 173 of file libmv/simple_pipeline/tracks.cc.
References image(), markers, libmv::Marker::x, and libmv::Marker::y.
Referenced by EuclideanReconstructTwoFrames(), ProjectiveReconstructTwoFrames(), and SelectKeyframesBasedOnGRICAndVariance().
Definition at line 80 of file numeric.cc.
Referenced by EssentialFromRt(), ProjectionsFromFundamental(), RotationFromEulerVector(), and RotationRodrigues().
Definition at line 229 of file projection.cc.
Referenced by Depth(), and MotionFromEssentialChooseSolution().
void libmv::Detect | ( | const FloatImage & | image, |
const DetectOptions & | options, | ||
vector< Feature > * | detected_features | ||
) |
Definition at line 340 of file detect.cc.
References libmv::DetectOptions::FAST, libmv::DetectOptions::HARRIS, image(), LOG, libmv::DetectOptions::MORAVEC, options, and Rgb2Gray().
Referenced by libmv_detectFeaturesByte(), and libmv_detectFeaturesFloat().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 95 of file libmv/libmv/image/sample.h.
References Freestyle::c, libmv::Array3D< T >::Depth(), libmv::Array3D< T >::Height(), height, usdtokens::out(), r, libmv::Array3D< T >::Width(), and width.
Referenced by MakePyramid().
void libmv::DrawCircle | ( | int | x, |
int | y, | ||
int | radius, | ||
const Color & | col, | ||
Image * | pim | ||
) |
Definition at line 144 of file image_drawing.h.
References col, safePutPixel(), x, y, and y1.
void libmv::DrawEllipse | ( | int | xc, |
int | yc, | ||
int | radiusA, | ||
int | radiusB, | ||
const Color & | col, | ||
Image * | pim, | ||
double | angle = 0.0 |
||
) |
Definition at line 62 of file image_drawing.h.
References Freestyle::a, angle(), usdtokens::b(), col, KDL::cos(), safePutPixel(), KDL::sin(), x, and y.
void libmv::DrawLine | ( | int | xa, |
int | ya, | ||
int | xb, | ||
int | yb, | ||
const Color & | col, | ||
Image * | pim | ||
) |
Definition at line 182 of file image_drawing.h.
References col, height, N, safePutPixel(), width, x, and y.
Referenced by TEST().
Definition at line 74 of file fundamental.cc.
References A, DCHECK_EQ, DCHECK_GE, F, Nullspace(), and x2.
Referenced by NormalizedEightPointSolver().
Definition at line 33 of file fundamental.cc.
Referenced by FundamentalFromProjections().
Fundamental matrix utility function:
Definition at line 101 of file fundamental.cc.
References F.
Referenced by NormalizedEightPointSolver().
Definition at line 266 of file fundamental.cc.
References F.
void libmv::EssentialFromRt | ( | const Mat3 & | R1, |
const Vec3 & | t1, | ||
const Mat3 & | R2, | ||
const Vec3 & | t2, | ||
Mat3 * | E | ||
) |
Definition at line 293 of file fundamental.cc.
References CrossProductMatrix(), R, RelativeCameraMotion(), and t.
bool libmv::EstimateFundamentalFromCorrespondences | ( | const Mat & | x1, |
const Mat & | x2, | ||
const EstimateFundamentalOptions & | options, | ||
Mat3 * | F | ||
) |
Fundamental transformation estimation.
This function estimates the fundamental transformation from a list of 2D correspondences by doing algebraic estimation first followed with result refinement.
Definition at line 492 of file fundamental.cc.
References callback, F, LG, NormalizedEightPointSolver(), NULL, options, VLOG, and x2.
Referenced by SelectKeyframesBasedOnGRICAndVariance().
bool libmv::EstimateHomography2DFromCorrespondences | ( | const Mat & | x1, |
const Mat & | x2, | ||
const EstimateHomographyOptions & | options, | ||
Mat3 * | H | ||
) |
2D Homography transformation estimation in the case that points are in euclidean coordinates.
2D homography transformation estimation.
This function estimates the homography transformation from a list of 2D correspondences by doing algebraic estimation first followed with result refinement.
Definition at line 260 of file libmv/multiview/homography.cc.
References callback, H, Homography2DFromCorrespondencesLinear(), LG, NULL, options, T1, T2, VLOG, and x2.
Referenced by libmv_homography2DFromCorrespondencesEuc(), and SelectKeyframesBasedOnGRICAndVariance().
void libmv::EuclideanBundle | ( | const Tracks & | tracks, |
EuclideanReconstruction * | reconstruction | ||
) |
Refine camera poses and 3D coordinates using bundle adjustment.
This routine adjusts all cameras and points in *reconstruction. This assumes a full observation for reconstructed tracks; this implies that if there is a reconstructed 3D point (a bundle) for a track, then all markers for that track will be included in the minimization. tracks should contain markers used in the initial reconstruction.
The cameras and bundles (3D points) are refined in-place.
Definition at line 650 of file bundle.cc.
References BUNDLE_NO_CONSTRAINTS, BUNDLE_NO_INTRINSICS, EuclideanBundleCommonIntrinsics(), NULL, reconstruction, and tracks.
Referenced by libmv_solveReconstruction().
void libmv::EuclideanBundleCommonIntrinsics | ( | const Tracks & | tracks, |
const int | bundle_intrinsics, | ||
const int | bundle_constraints, | ||
EuclideanReconstruction * | reconstruction, | ||
CameraIntrinsics * | intrinsics, | ||
BundleEvaluation * | evaluation | ||
) |
Definition at line 661 of file bundle.cc.
References BUNDLE_FOCAL_LENGTH, BUNDLE_NO_INTRINSICS, BUNDLE_NO_TRANSLATION, BUNDLE_PRINCIPAL_POINT, BUNDLE_RADIAL_K1, BUNDLE_RADIAL_K2, BUNDLE_RADIAL_K3, BUNDLE_RADIAL_K4, BUNDLE_TANGENTIAL, BUNDLE_TANGENTIAL_P1, BUNDLE_TANGENTIAL_P2, camera, libmv::ProjectiveReconstruction::CameraForImage(), DISTORTION_MODEL_DIVISION, libmv::CameraIntrinsics::GetDistortionModelType(), libmv::PackedIntrinsics::GetParametersBlock(), libmv::Marker::image, LG, LOG, markers, MAYBE_SET_CONSTANT, NULL, libmv::PackedIntrinsics::NUM_PARAMETERS, libmv::PackedIntrinsics::OFFSET_FOCAL_LENGTH, libmv::PackedIntrinsics::OFFSET_K1, libmv::PackedIntrinsics::OFFSET_K2, libmv::PackedIntrinsics::OFFSET_K3, libmv::PackedIntrinsics::OFFSET_K4, libmv::PackedIntrinsics::OFFSET_P1, libmv::PackedIntrinsics::OFFSET_P2, libmv::PackedIntrinsics::OFFSET_PRINCIPAL_POINT_X, libmv::PackedIntrinsics::OFFSET_PRINCIPAL_POINT_Y, options, libmv::CameraIntrinsics::Pack(), point, libmv::ProjectiveReconstruction::PointForTrack(), reconstruction, libmv::Marker::track, tracks, libmv::CameraIntrinsics::Unpack(), and libmv::Marker::weight.
Referenced by EuclideanBundle(), libmv_solveModal(), SelectKeyframesBasedOnGRICAndVariance(), and TEST().
void libmv::EuclideanCompleteReconstruction | ( | const Tracks & | tracks, |
EuclideanReconstruction * | reconstruction, | ||
ProgressUpdateCallback * | update_callback = NULL |
||
) |
Estimate camera poses and scene 3D coordinates for all frames and tracks.
This method should be used once there is an initial reconstruction in place, for example by reconstructing from two frames that have a sufficient baseline and number of tracks in common. This function iteratively triangulates points that are visible by cameras that have their pose estimated, then resections (i.e. estimates the pose) of cameras that are not estimated yet that can see triangulated points. This process is repeated until all points and cameras are estimated. Periodically, bundle adjustment is run to ensure a quality reconstruction.
tracks should contain markers used in the reconstruction. reconstruction should contain at least some 3D points or some estimated cameras. The minimum number of cameras is two (with no 3D points) and the minimum number of 3D points (with no estimated cameras) is 5.
Definition at line 344 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References reconstruction, and tracks.
Referenced by libmv_solveReconstruction().
bool libmv::EuclideanIntersect | ( | const vector< Marker > & | markers, |
EuclideanReconstruction * | reconstruction | ||
) |
Estimate the 3D coordinates of a track by intersecting rays from images.
This takes a set of markers, where each marker is for the same track but different images, and reconstructs the 3D position of that track. Each of the frames for which there is a marker for that track must have a corresponding reconstructed camera in *reconstruction.
markers should contain all markers belonging to tracks visible in all frames. reconstruction should contain the cameras for all frames. The new points will be inserted in reconstruction.
Definition at line 69 of file intersect.cc.
References camera, libmv::ProjectiveReconstruction::CameraForImage(), e, libmv::Marker::image, image(), libmv::ProjectiveReconstruction::InsertPoint(), K, LG, LOG, markers, NULL, NViewTriangulateAlgebraic(), P(), P_From_KRt(), point, reconstruction, VLOG, libmv::Marker::weight, x, and X.
Referenced by SelectKeyframesBasedOnGRICAndVariance(), and TEST().
bool libmv::EuclideanReconstructTwoFrames | ( | const vector< Marker > & | markers, |
EuclideanReconstruction * | reconstruction | ||
) |
Initialize the reconstruction using two frames.
markers should contain all markers belonging to tracks visible in both frames. The pose estimation of the camera for these frames will be inserted into *reconstruction.
Definition at line 54 of file initialize_reconstruction.cc.
References CoordinatesForMarkersInImage(), F, FundamentalToEssential(), libmv::ProjectiveReconstruction::InsertCamera(), K, LG, markers, MotionFromEssentialAndCorrespondence(), NormalizedEightPointSolver(), R, reconstruction, t, and x2.
Referenced by libmv_solveReconstruction().
double libmv::EuclideanReprojectionError | ( | const Tracks & | image_tracks, |
const EuclideanReconstruction & | reconstruction, | ||
const CameraIntrinsics & | intrinsics | ||
) |
Definition at line 329 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References reconstruction.
bool libmv::EuclideanResect | ( | const vector< Marker > & | markers, |
EuclideanReconstruction * | reconstruction, | ||
bool | final_pass | ||
) |
Estimate the Euclidean pose of a camera from 2D to 3D correspondences.
This takes a set of markers visible in one frame (which is the one to resection), such that the markers are also reconstructed in 3D in the reconstruction object, and solves for the pose and orientation of the camera for that frame.
markers should contain markers belonging to tracks visible in the one frame to be resectioned. Each of the tracks associated with the markers must have a corresponding reconstructed 3D position in the *reconstruction object.
*reconstruction should contain the 3D points associated with the tracks for the markers present in markers.
Definition at line 94 of file resect.cc.
References libmv::euclidean_resection::EuclideanResection(), image(), libmv::EuclideanReconstruction::InsertCamera(), KRt_From_P(), LG, markers, P(), params, libmv::EuclideanReconstruction::PointForTrack(), R, reconstruction, libmv::resection::Resection(), libmv::euclidean_resection::RESECTION_EPNP, RotationFromEulerVector(), t, transpose(), and libmv::EuclideanPoint::X.
void libmv::EuclideanScaleToUnity | ( | EuclideanReconstruction * | reconstruction | ) |
Scale euclidean reconstruction in a way variance of camera centers equals to one.
Definition at line 26 of file reconstruction_scale.cc.
References libmv::ProjectiveReconstruction::AllCameras(), libmv::ProjectiveReconstruction::AllPoints(), camera, libmv::ProjectiveReconstruction::CameraForImage(), blender::math::distance(), image(), LG, point, libmv::ProjectiveReconstruction::PointForTrack(), reconstruction, and sqrt().
Referenced by libmv_solveReconstruction().
Definition at line 200 of file projection.cc.
Referenced by ApplyTransformationToPoints(), EuclideanToNormalizedCamera(), ImageToNormImageCoordinates(), libmv::homography::homography2D::AsymmetricError::Residuals(), libmv::homography::homography2D::AlgebraicError::Residuals(), and libmv::panography::kernel::TwoPointSolver::Solve().
Definition at line 67 of file libmv/libmv/multiview/projection.h.
References x.
Definition at line 73 of file libmv/libmv/multiview/projection.h.
References x.
Definition at line 78 of file libmv/libmv/multiview/projection.h.
References x.
Definition at line 84 of file libmv/libmv/multiview/projection.h.
References x.
Definition at line 91 of file libmv/libmv/multiview/projection.h.
References x.
Definition at line 208 of file projection.cc.
Definition at line 94 of file libmv/libmv/multiview/projection.h.
References x.
Definition at line 212 of file projection.cc.
Definition at line 217 of file projection.cc.
References EuclideanToHomogeneous(), HomogeneousToEuclidean(), K, and x.
Referenced by libmv::euclidean_resection::EuclideanResection().
TMat libmv::ExtractColumns | ( | const TMat & | A, |
const TCols & | columns | ||
) |
Definition at line 432 of file numeric.h.
References A.
Referenced by libmv::two_view::kernel::Kernel< SolverArg, ErrorArg, ModelArg >::Fit().
Definition at line 73 of file panography.cc.
References Build_Minimal2Point_PolynomialFactor(), P(), SolveCubicPolynomial(), sqrt(), and x2.
Referenced by libmv::panography::kernel::TwoPointSolver::Solve().
void libmv::FloatArrayToScaledByteArray | ( | const Array3Df & | float_array, |
Array3Du * | byte_array, | ||
bool | automatic_range_detection = false |
||
) |
Convert a float array into a byte array by scaling values by 255* (max-min). where max and min are automatically detected (if automatic_range_detection = true)
Definition at line 27 of file array_nd.cc.
References libmv::Array3D< T >::Depth(), libmv::Array3D< T >::Height(), max, min, libmv::ArrayND< T, N >::ResizeLike(), and libmv::Array3D< T >::Width().
unsigned char* libmv::FloatImageToUCharArray | ( | const Image & | image | ) |
|
inline |
Definition at line 276 of file numeric.h.
References A, B, and FrobeniusNorm().
|
inline |
Definition at line 271 of file numeric.h.
Referenced by FrobeniusDistance(), and NormalizeFundamental().
double libmv::FundamentalFrom7CorrespondencesLinear | ( | const Mat & | x1, |
const Mat & | x2, | ||
std::vector< Mat3 > * | F | ||
) |
7 points (minimal case, points coordinates must be normalized before):
Definition at line 136 of file fundamental.cc.
References A, Freestyle::a, usdtokens::b(), Freestyle::c, DCHECK_EQ, e, F, usdtokens::g(), l, Nullspace2(), P(), r, SolveCubicPolynomial(), and x2.
Referenced by FundamentalFromCorrespondences7Point().
double libmv::FundamentalFromCorrespondences7Point | ( | const Mat & | x1, |
const Mat & | x2, | ||
std::vector< Mat3 > * | F | ||
) |
7 points (points coordinates must be in image space):
Definition at line 206 of file fundamental.cc.
References ApplyTransformationToPoints(), DCHECK_EQ, DCHECK_GE, F, FundamentalFrom7CorrespondencesLinear(), PreconditionerFromPoints(), T1, T2, and x2.
Definition at line 275 of file fundamental.cc.
References F.
Definition at line 54 of file fundamental.cc.
References EliminateRow(), VerticalStack(), X, XY, and Y.
Referenced by TwoRealisticCameras().
Find closest essential matrix E to fundamental F
Definition at line 393 of file fundamental.cc.
References Freestyle::a, usdtokens::b(), F, LG, and max.
Referenced by EuclideanReconstructTwoFrames(), and SelectKeyframesBasedOnGRICAndVariance().
Definition at line 32 of file convolve.h.
References exp(), M_PI, sqrt(), and x.
Referenced by ComputeGaussianKernel(), and GaussianDerivative().
Definition at line 41 of file convolve.h.
References Gaussian(), and x.
Referenced by ComputeGaussianKernel().
Definition at line 45 of file convolve.h.
References log(), M_PI, sqrt(), and y.
Referenced by ComputeGaussianKernel().
Definition at line 99 of file panography.cc.
References C, determinant(), K, normalized(), and x2.
Referenced by ModalSolver(), and libmv::panography::kernel::TwoPointSolver::Solve().
Definition at line 166 of file projection.cc.
Referenced by ApplyTransformationToPoints(), EuclideanToNormalizedCamera(), HomogeneousToNormalizedCamera(), ImageToNormImageCoordinates(), libmv::homography::homography2D::AsymmetricError::Residuals(), and TriangulateDLT().
Definition at line 59 of file libmv/libmv/multiview/projection.h.
References e.
Definition at line 178 of file projection.cc.
References e.
Definition at line 183 of file projection.cc.
References e.
Definition at line 53 of file libmv/libmv/multiview/projection.h.
Definition at line 190 of file projection.cc.
Definition at line 56 of file libmv/libmv/multiview/projection.h.
Definition at line 195 of file projection.cc.
Definition at line 224 of file projection.cc.
References HomogeneousToEuclidean(), K, and x.
Referenced by libmv::euclidean_resection::EuclideanResection().
bool libmv::Homography2DFromCorrespondencesLinear | ( | const Mat & | x1, |
const Mat & | x2, | ||
Mat3 * | H, | ||
double | expected_precision | ||
) |
2D Homography transformation estimation in the case that points are in homogeneous coordinates.
| 0 -x3 x2| |a b c| |y1| -x3*d+x2*g -x3*e+x2*h -x3*f+x2*1 |y1| (-x3*d+x2*g)*y1 (-x3*e+x2*h)*y2 (-x3*f+x2*1)*y3 |0| | x3 0 -x1| * |d e f| * |y2| = x3*a-x1*g x3*b-x1*h x3*c-x1*1 * |y2| = (x3*a-x1*g)*y1 (x3*b-x1*h)*y2 (x3*c-x1*1)*y3 = |0| |-x2 x1 0| |g h 1| |y3| -x2*a+x1*d -x2*b+x1*e -x2*c+x1*f |y3| (-x2*a+x1*d)*y1 (-x2*b+x1*e)*y2 (-x2*c+x1*f)*y3 |0| X = |a b c d e f g h|^t
2D homography transformation estimation.
This function estimates the homography transformation from a list of 2D correspondences which represents either:
x1 | The first 2xN or 3xN matrix of euclidean or homogeneous points. |
x2 | The second 2xN or 3xN matrix of euclidean or homogeneous points. |
H | The 3x3 homography transformation matrix (8 dof) such that x2 = H * x1 with |a b c| H = |d e f| |g h 1| |
expected_precision | The expected precision in order for instance to accept almost homography matrices. |
Definition at line 103 of file libmv/multiview/homography.cc.
References usdtokens::b(), H, Homography2DFromCorrespondencesLinearEuc(), L, libmv::Homography2DNormalizedParameterization< T >::To(), w(), x, x2, and y.
Referenced by EstimateHomography2DFromCorrespondences().
|
static |
2D Homography transformation estimation in the case that points are in euclidean coordinates.
x = H y x and y vector must have the same direction, we could write crossproduct(|x|, * H * |y| ) = |0|
| 0 -1 x2| |a b c| |y1| |0| | 1 0 -x1| * |d e f| * |y2| = |0| |-x2 x1 0| |g h 1| |1 | |0|
That gives :
(-d+x2*g)*y1 + (-e+x2*h)*y2 + -f+x2 |0| (a-x1*g)*y1 + (b-x1*h)*y2 + c-x1 = |0| (-x2*a+x1*d)*y1 + (-x2*b+x1*e)*y2 + -x2*c+x1*f |0|
Definition at line 46 of file libmv/multiview/homography.cc.
References usdtokens::b(), H, L, libmv::Homography2DNormalizedParameterization< T >::To(), and x2.
Referenced by Homography2DFromCorrespondencesLinear().
bool libmv::Homography3DFromCorrespondencesLinear | ( | const Mat & | x1, |
const Mat & | x2, | ||
Mat4 * | H, | ||
double | expected_precision | ||
) |
x2 ~ A * x1 x2^t * Hi * A *x1 = 0 H1 = H2 = H3 = | 0 0 0 1| |-x2w| |0 0 0 0| | 0 | | 0 0 1 0| |-x2z| | 0 0 0 0| -> | 0 | |0 0 1 0| -> |-x2z| | 0 0 0 0| -> | 0 | | 0 0 0 0| | 0 | |0-1 0 0| | x2y| |-1 0 0 0| | x2x| |-1 0 0 0| | x2x| |0 0 0 0| | 0 | | 0 0 0 0| | 0 | H4 = H5 = H6 = |0 0 0 0| | 0 | | 0 1 0 0| |-x2y| |0 0 0 0| | 0 | |0 0 0 1| -> |-x2w| |-1 0 0 0| -> | x2x| |0 0 0 0| -> | 0 | |0 0 0 0| | 0 | | 0 0 0 0| | 0 | |0 0 0 1| |-x2w| |0-1 0 0| | x2y| | 0 0 0 0| | 0 | |0 0-1 0| | x2z| |a b c d| A = |e f g h| |i j k l| |m n o 1|
x2^t * H1 * A *x1 = (-x2w*a +x2x*m )*x1x + (-x2w*b +x2x*n )*x1y + (-x2w*c +x2x*o )*x1z + (-x2w*d +x2x*1 )*x1w = 0 x2^t * H2 * A *x1 = (-x2z*e +x2y*i )*x1x + (-x2z*f +x2y*j )*x1y + (-x2z*g +x2y*k )*x1z + (-x2z*h +x2y*l )*x1w = 0 x2^t * H3 * A *x1 = (-x2z*a +x2x*i )*x1x + (-x2z*b +x2x*j )*x1y + (-x2z*c +x2x*k )*x1z + (-x2z*d +x2x*l )*x1w = 0 x2^t * H4 * A *x1 = (-x2w*e +x2y*m )*x1x + (-x2w*f +x2y*n )*x1y + (-x2w*g +x2y*o )*x1z + (-x2w*h +x2y*1 )*x1w = 0 x2^t * H5 * A *x1 = (-x2y*a +x2x*e )*x1x + (-x2y*b +x2x*f )*x1y + (-x2y*c +x2x*g )*x1z + (-x2y*d +x2x*h )*x1w = 0 x2^t * H6 * A *x1 = (-x2w*i +x2z*m )*x1x + (-x2w*j +x2z*n )*x1y + (-x2w*k +x2z*o )*x1z + (-x2w*l +x2z*1 )*x1w = 0
X = |a b c d e f g h i j k l m n o|^t
3D Homography transformation estimation.
This function can be used in order to estimate the homography transformation from a list of 3D correspondences.
[in] | x1 | The first 4xN matrix of homogeneous points |
[in] | x2 | The second 4xN matrix of homogeneous points |
[out] | H | The 4x4 homography transformation matrix (15 dof) such that x2 = H * x1 with |a b c d| H = |e f g h| |i j k l| |m n o 1| |
[in] | expected_precision | The expected precision in order for instance to accept almost homography matrices. |
Definition at line 362 of file libmv/multiview/homography.cc.
References usdtokens::b(), H, L, libmv::Homography3DNormalizedParameterization< T >::To(), w(), x, x2, y, and z.
Definition at line 116 of file numeric.cc.
Eigen::Matrix<T, ROWS, COLS> libmv::HStack | ( | const Eigen::Matrix< T, RowsLeft, ColsLeft > & | left, |
const Eigen::Matrix< T, RowsRight, ColsRight > & | right | ||
) |
Definition at line 376 of file numeric.h.
Referenced by libmv::NViewDataSet::P().
void libmv::ImageDerivatives | ( | const Array3Df & | in, |
double | sigma, | ||
Array3Df * | gradient_x, | ||
Array3Df * | gradient_y | ||
) |
Definition at line 191 of file convolve.cc.
References ComputeGaussianKernel(), ConvolveHorizontal(), ConvolveVertical(), and kernel.
Transforms a 2D point from pixel image coordinates to a 2D point in normalized image coordinates.
Definition at line 203 of file libmv/libmv/multiview/projection.h.
References EuclideanToHomogeneous(), HomogeneousToEuclidean(), and x.
void libmv::InternalCompleteReconstruction | ( | const Tracks & | tracks, |
typename PipelineRoutines::Reconstruction * | reconstruction, | ||
ProgressUpdateCallback * | update_callback = NULL |
||
) |
Definition at line 150 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References libmv::ProjectiveReconstruction::CameraForImage(), CompleteReconstructionLogProgress(), image(), Intersect(), LG, libmv::ProjectiveReconstruction::PointForTrack(), reconstruction, and tracks.
double libmv::InternalReprojectionError | ( | const Tracks & | image_tracks, |
const typename PipelineRoutines::Reconstruction & | reconstruction, | ||
const CameraIntrinsics & | intrinsics | ||
) |
Definition at line 275 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References libmv::Tracks::AllMarkers(), camera, libmv::ProjectiveReconstruction::CameraForImage(), image(), LG, markers, N, point, libmv::ProjectiveReconstruction::PointForTrack(), reconstruction, snprintf, sqrt(), VLOG, libmv::Marker::x, x, libmv::Marker::y, and y.
void libmv::InvertBrownDistortionModel | ( | const double | focal_length_x, |
const double | focal_length_y, | ||
const double | principal_point_x, | ||
const double | principal_point_y, | ||
const double | k1, | ||
const double | k2, | ||
const double | k3, | ||
const double | k4, | ||
const double | p1, | ||
const double | p2, | ||
const double | image_x, | ||
const double | image_y, | ||
double * | normalized_x, | ||
double * | normalized_y | ||
) |
Definition at line 278 of file distortion_models.cc.
References normalized(), and params.
Referenced by libmv::BrownCameraIntrinsics::InvertIntrinsics().
void libmv::InvertDivisionDistortionModel | ( | const double | focal_length_x, |
const double | focal_length_y, | ||
const double | principal_point_x, | ||
const double | principal_point_y, | ||
const double | k1, | ||
const double | k2, | ||
const double | image_x, | ||
const double | image_y, | ||
double * | normalized_x, | ||
double * | normalized_y | ||
) |
Definition at line 240 of file distortion_models.cc.
References normalized(), and params.
Referenced by libmv::DivisionCameraIntrinsics::InvertIntrinsics().
void libmv::InvertIntrinsicsForTracks | ( | const Tracks & | raw_tracks, |
const CameraIntrinsics & | camera_intrinsics, | ||
Tracks * | calibrated_tracks | ||
) |
Definition at line 357 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References libmv::Tracks::AllMarkers(), libmv::CameraIntrinsics::InvertIntrinsics(), markers, x, and y.
void libmv::InvertNukeDistortionModel | ( | const T & | focal_length_x, |
const T & | focal_length_y, | ||
const T & | principal_point_x, | ||
const T & | principal_point_y, | ||
const int | image_width, | ||
const int | image_height, | ||
const T & | k1, | ||
const T & | k2, | ||
const T & | image_x, | ||
const T & | image_y, | ||
T * | normalized_x, | ||
T * | normalized_y | ||
) |
Definition at line 138 of file distortion_models.h.
Referenced by libmv::NukeCameraIntrinsics::InvertIntrinsics(), and libmv::ApplyNukeIntrinsicsCostFunction::operator()().
void libmv::InvertPolynomialDistortionModel | ( | const double | focal_length_x, |
const double | focal_length_y, | ||
const double | principal_point_x, | ||
const double | principal_point_y, | ||
const double | k1, | ||
const double | k2, | ||
const double | k3, | ||
const double | p1, | ||
const double | p2, | ||
const double | image_x, | ||
const double | image_y, | ||
double * | normalized_x, | ||
double * | normalized_y | ||
) |
Definition at line 197 of file distortion_models.cc.
References normalized(), and params.
Referenced by libmv::PolynomialCameraIntrinsics::InvertIntrinsics().
Definition at line 192 of file libmv/libmv/multiview/projection.h.
References isInFrontOfCamera(), P(), and X.
Returns true if the homogenious 3D point X is in front of the camera P.
Definition at line 183 of file libmv/libmv/multiview/projection.h.
Referenced by isInFrontOfCamera().
Definition at line 451 of file numeric.h.
Referenced by bm_vert_calc_normals_accum_loop(), cineonOpen(), computeBindWeights(), distribute_from_faces_exec(), distribute_from_volume_exec(), dynamicPaint_paintParticles(), DualConInputReader::getNextTriangle(), imagewraposa_aniso(), and old_mdisps_bilinear().
Definition at line 48 of file conditioning.cc.
References e, MeanAndVarianceAlongRows(), sqrt(), and T.
Referenced by NormalizeIsotropicPoints().
Definition at line 32 of file projection.cc.
References Freestyle::c, K, l, P(), R, sqrt(), and t.
Referenced by EuclideanResect().
void libmv::LaplaceFilter | ( | unsigned char * | src, |
unsigned char * | dst, | ||
int | width, | ||
int | height, | ||
int | strength | ||
) |
Convolve src into dst with the discrete laplacian operator.
src and dst should be width x height images. strength is an interpolation coefficient (0-256) between original image and the laplacian.
Definition at line 329 of file convolve.cc.
Definition at line 36 of file libmv/libmv/image/sample.h.
Referenced by SampleLinear().
Definition at line 69 of file numeric.cc.
Referenced by NRealisticCamerasFull(), and NRealisticCamerasSparse().
|
static |
Definition at line 32 of file pyramid_region_tracker.cc.
References DownsampleChannelsBy2(), and image().
Referenced by libmv::PyramidRegionTracker::Track().
Definition at line 131 of file numeric.cc.
Definition at line 135 of file numeric.cc.
Definition at line 90 of file numeric.cc.
References A, Square(), and x.
Referenced by IsotropicPreconditionerFromPoints(), PreconditionerFromPoints(), and libmv::euclidean_resection::SelectControlPoints().
void libmv::ModalSolver | ( | const Tracks & | tracks, |
EuclideanReconstruction * | reconstruction, | ||
ProgressUpdateCallback * | update_callback = NULL |
||
) |
This solver solves such camera motion as tripod rotation, reconstructing only camera motion itself. Bundles are not reconstructing properly, they're just getting projected onto sphere.
Markers from tracks object would be used for recosntruction, and algorithm assumes thir's positions are undistorted already and they're in nnormalized space.
Reconstructed cameras and projected bundles would be added to reconstruction object.
Definition at line 106 of file modal_solver.cc.
References e, GetR_FixedCameraCenter(), libmv::Marker::image, image(), libmv::ProjectiveReconstruction::InsertCamera(), libmv::ProjectiveReconstruction::InsertPoint(), LG, NULL, point, libmv::ProjectiveReconstruction::PointForTrack(), R, reconstruction, libmv::Marker::track, tracks, libmv::Marker::weight, libmv::Marker::x, X, x2, and libmv::Marker::y.
Referenced by libmv_solveModal(), and TEST().
void libmv::MotionFromEssential | ( | const Mat3 & | E, |
std::vector< Mat3 > * | Rs, | ||
std::vector< Vec3 > * | ts | ||
) |
Definition at line 303 of file fundamental.cc.
Referenced by MotionFromEssentialAndCorrespondence().
bool libmv::MotionFromEssentialAndCorrespondence | ( | const Mat3 & | E, |
const Mat3 & | K1, | ||
const Vec2 & | x1, | ||
const Mat3 & | K2, | ||
const Vec2 & | x2, | ||
Mat3 * | R, | ||
Vec3 * | t | ||
) |
Definition at line 373 of file fundamental.cc.
References MotionFromEssential(), MotionFromEssentialChooseSolution(), R, t, and x2.
Referenced by EuclideanReconstructTwoFrames(), and SelectKeyframesBasedOnGRICAndVariance().
int libmv::MotionFromEssentialChooseSolution | ( | const std::vector< Mat3 > & | Rs, |
const std::vector< Vec3 > & | ts, | ||
const Mat3 & | K1, | ||
const Vec2 & | x1, | ||
const Mat3 & | K2, | ||
const Vec2 & | x2 | ||
) |
Choose one of the four possible motion solutions from an essential matrix.
Decides the right solution by checking that the triangulation of a match x1–x2 lies in front of the cameras. See HZ 9.6 pag 259 (9.6.3 Geometrical interpretation of the 4 solutions)
Definition at line 342 of file fundamental.cc.
References DCHECK_EQ, Depth(), P_From_KRt(), TriangulateDLT(), X, and x2.
Referenced by MotionFromEssentialAndCorrespondence().
void libmv::MultiplyElements | ( | const AArrayType & | a, |
const BArrayType & | b, | ||
CArrayType * | c | ||
) |
Definition at line 391 of file array_nd.h.
References Freestyle::a, usdtokens::b(), Freestyle::c, and SIZE.
void libmv::MultiplyElements | ( | const Array3D< TA > & | a, |
const Array3D< TB > & | b, | ||
Array3D< TC > * | c | ||
) |
Definition at line 444 of file array_nd.h.
References Freestyle::a, usdtokens::b(), and Freestyle::c.
void libmv::MultiplyElements | ( | const ArrayND< TA, 3 > & | a, |
const ArrayND< TB, 3 > & | b, | ||
ArrayND< TC, 3 > * | c | ||
) |
Definition at line 426 of file array_nd.h.
References Freestyle::a, usdtokens::b(), and Freestyle::c.
8 points (points coordinates must be in image space):
Definition at line 109 of file fundamental.cc.
References ApplyTransformationToPoints(), DCHECK_EQ, DCHECK_GE, EightPointSolver(), EnforceFundamentalRank2Constraint(), F, PreconditionerFromPoints(), T1, T2, and x2.
Referenced by EstimateFundamentalFromCorrespondences(), EuclideanReconstructTwoFrames(), and ProjectiveReconstructTwoFrames().
Definition at line 234 of file fundamental.cc.
References F, and FrobeniusNorm().
Definition at line 85 of file conditioning.cc.
References ApplyTransformationToPoints(), IsotropicPreconditionerFromPoints(), and T.
Referenced by libmv::two_view::kernel::IsotropicNormalizedSolver< Solver, Unnormalizer >::Solve().
|
inline |
|
inline |
|
inline |
Definition at line 239 of file numeric.h.
References norm(), NormLInfinity(), and x.
Definition at line 80 of file conditioning.cc.
References ApplyTransformationToPoints(), PreconditionerFromPoints(), and T.
Referenced by libmv::two_view::kernel::NormalizedSolver< Solver, Unnormalizer >::Solve().
|
inline |
|
inline |
|
inline |
NViewDataSet libmv::NRealisticCamerasFull | ( | int | nviews, |
int | npoints, | ||
const nViewDatasetConfigator | config | ||
) |
Definition at line 76 of file test_data_sets.cc.
References libmv::nViewDatasetConfigator::_cx, libmv::nViewDatasetConfigator::_cy, libmv::nViewDatasetConfigator::_dist, libmv::nViewDatasetConfigator::_fx, libmv::nViewDatasetConfigator::_fy, libmv::nViewDatasetConfigator::_jitter_amount, KDL::cos(), LookAt(), M_PI, Project(), KDL::sin(), and t.
NViewDataSet libmv::NRealisticCamerasSparse | ( | int | nviews, |
int | npoints, | ||
float | view_ratio, | ||
unsigned | min_projections, | ||
const nViewDatasetConfigator | config | ||
) |
Definition at line 121 of file test_data_sets.cc.
References libmv::nViewDatasetConfigator::_cx, libmv::nViewDatasetConfigator::_cy, libmv::nViewDatasetConfigator::_dist, libmv::nViewDatasetConfigator::_fx, libmv::nViewDatasetConfigator::_fy, libmv::nViewDatasetConfigator::_jitter_amount, KDL::cos(), LookAt(), M_PI, Project(), KDL::sin(), t, and X.
double libmv::Nullspace | ( | TMat * | A, |
TVec * | nullspace | ||
) |
Definition at line 158 of file numeric.h.
References A.
Referenced by EightPointSolver(), NViewTriangulate(), NViewTriangulateAlgebraic(), ProjectionsFromFundamental(), libmv::resection::Resection(), and TriangulateDLT().
double libmv::Nullspace2 | ( | TMat * | A, |
TVec1 * | x1, | ||
TVec2 * | x2 | ||
) |
Definition at line 173 of file numeric.h.
Referenced by FundamentalFrom7CorrespondencesLinear().
void libmv::NViewTriangulate | ( | const Matrix< T, 2, Dynamic > & | x, |
const vector< Matrix< T, 3, 4 >> & | Ps, | ||
Matrix< T, 4, 1 > * | X | ||
) |
Definition at line 38 of file nviewtriangulation.h.
References Nullspace(), x, and X.
void libmv::NViewTriangulateAlgebraic | ( | const Matrix< T, 2, Dynamic > & | x, |
const vector< Matrix< T, 3, 4 >> & | Ps, | ||
Matrix< T, 4, 1 > * | X | ||
) |
Definition at line 64 of file nviewtriangulation.h.
References Nullspace(), SkewMatMinimal(), x, and X.
Referenced by EuclideanIntersect(), and ProjectiveIntersect().
std::ostream & libmv::operator<< | ( | std::ostream & | os, |
const CameraIntrinsics & | intrinsics | ||
) |
A human-readable representation of the camera intrinsic parameters.
Definition at line 457 of file libmv/simple_pipeline/camera_intrinsics.cc.
References DISTORTION_MODEL_BROWN, DISTORTION_MODEL_DIVISION, DISTORTION_MODEL_NUKE, DISTORTION_MODEL_POLYNOMIAL, libmv::CameraIntrinsics::focal_length(), libmv::CameraIntrinsics::focal_length_x(), libmv::CameraIntrinsics::focal_length_y(), libmv::CameraIntrinsics::GetDistortionModelType(), libmv::CameraIntrinsics::image_height(), libmv::CameraIntrinsics::image_width(), LOG, libmv::CameraIntrinsics::principal_point_x(), libmv::CameraIntrinsics::principal_point_y(), and PRINT_NONZERO_COEFFICIENT.
std::ostream & libmv::operator<< | ( | std::ostream & | os, |
const Feature & | feature | ||
) |
Definition at line 364 of file detect.cc.
References libmv::Feature::score, libmv::Feature::size, libmv::Feature::x, and libmv::Feature::y.
Definition at line 26 of file projection.cc.
Referenced by EuclideanIntersect(), MotionFromEssentialChooseSolution(), RootMeanSquareError(), TEST(), and TwoRealisticCameras().
|
inline |
Definition at line 29 of file correlation.h.
References Freestyle::c, libmv::Array3D< T >::Height(), height, LG, N, r, sqrt(), libmv::Array3D< T >::Width(), width, x, and y.
Referenced by libmv::BruteRegionTracker::Track().
Definition at line 27 of file conditioning.cc.
References e, MeanAndVarianceAlongRows(), sqrt(), and T.
Referenced by FundamentalFromCorrespondences7Point(), NormalizedEightPointSolver(), and NormalizePoints().
Definition at line 85 of file array_nd.cc.
References Freestyle::c, libmv::Array3D< T >::Depth(), libmv::Array3D< T >::Height(), r, and libmv::Array3D< T >::Width().
Definition at line 153 of file libmv/libmv/multiview/projection.h.
References Freestyle::c, P(), x, and X.
Definition at line 143 of file libmv/libmv/multiview/projection.h.
References Freestyle::c, P(), x, and X.
Definition at line 129 of file libmv/libmv/multiview/projection.h.
References Freestyle::c, P(), x, and X.
Definition at line 101 of file libmv/libmv/multiview/projection.h.
Referenced by NRealisticCamerasFull(), NRealisticCamerasSparse(), Project(), libmv::NViewDataSet::Reproject(), RootMeanSquareError(), TEST(), and TwoRealisticCameras().
Definition at line 112 of file libmv/libmv/multiview/projection.h.
Definition at line 108 of file libmv/libmv/multiview/projection.h.
void libmv::ProjectionChangeAspectRatio | ( | const Mat34 & | P, |
const Vec2 & | principal_point, | ||
double | aspect_ratio, | ||
double | aspect_ratio_new, | ||
Mat34 * | P_new | ||
) |
Definition at line 148 of file projection.cc.
References P(), ProjectionShiftPrincipalPoint(), and T.
Definition at line 45 of file fundamental.cc.
References CrossProductMatrix(), F, and Nullspace().
Referenced by ProjectiveReconstructTwoFrames().
void libmv::ProjectionShiftPrincipalPoint | ( | const Mat34 & | P, |
const Vec2 & | principal_point, | ||
const Vec2 & | principal_point_new, | ||
Mat34 * | P_new | ||
) |
Definition at line 135 of file projection.cc.
Referenced by ProjectionChangeAspectRatio().
void libmv::ProjectiveBundle | ( | const Tracks & | tracks, |
ProjectiveReconstruction * | reconstruction | ||
) |
Refine camera poses and 3D coordinates using bundle adjustment.
This routine adjusts all cameras and points in *reconstruction. This assumes a full observation for reconstructed tracks; this implies that if there is a reconstructed 3D point (a bundle) for a track, then all markers for that track will be included in the minimization. tracks should contain markers used in the initial reconstruction.
The cameras and bundles (homogeneous 3D points) are refined in-place.
void libmv::ProjectiveCompleteReconstruction | ( | const Tracks & | tracks, |
ProjectiveReconstruction * | reconstruction | ||
) |
Estimate camera matrices and homogeneous 3D coordinates for all frames and tracks.
This method should be used once there is an initial reconstruction in place, for example by reconstructing from two frames that have a sufficient baseline and number of tracks in common. This function iteratively triangulates points that are visible by cameras that have their pose estimated, then resections (i.e. estimates the pose) of cameras that are not estimated yet that can see triangulated points. This process is repeated until all points and cameras are estimated. Periodically, bundle adjustment is run to ensure a quality reconstruction.
tracks should contain markers used in the reconstruction. reconstruction should contain at least some 3D points or some estimated cameras. The minimum number of cameras is two (with no 3D points) and the minimum number of 3D points (with no estimated cameras) is 5.
Definition at line 351 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References reconstruction, and tracks.
bool libmv::ProjectiveIntersect | ( | const vector< Marker > & | markers, |
ProjectiveReconstruction * | reconstruction | ||
) |
Estimate the homogeneous coordinates of a track by intersecting rays.
This takes a set of markers, where each marker is for the same track but different images, and reconstructs the homogeneous 3D position of that track. Each of the frames for which there is a marker for that track must have a corresponding reconstructed camera in *reconstruction.
markers should contain all markers belonging to tracks visible in all frames. reconstruction should contain the cameras for all frames. The new points will be inserted in reconstruction.
Definition at line 203 of file intersect.cc.
References camera, libmv::ProjectiveReconstruction::CameraForImage(), image(), libmv::ProjectiveReconstruction::InsertPoint(), LG, LOG, markers, NViewTriangulateAlgebraic(), params, reconstruction, void, x, and X.
bool libmv::ProjectiveReconstructTwoFrames | ( | const vector< Marker > & | markers, |
ProjectiveReconstruction * | reconstruction | ||
) |
Initialize the reconstruction using two frames.
markers should contain all markers belonging to tracks visible in both frames. An estimate of the projection matrices for the two frames will get added to the reconstruction.
Definition at line 142 of file initialize_reconstruction.cc.
References CoordinatesForMarkersInImage(), F, libmv::ProjectiveReconstruction::InsertCamera(), LG, markers, NormalizedEightPointSolver(), params, ProjectionsFromFundamental(), reconstruction, and x2.
double libmv::ProjectiveReprojectionError | ( | const Tracks & | image_tracks, |
const ProjectiveReconstruction & | reconstruction, | ||
const CameraIntrinsics & | intrinsics | ||
) |
Definition at line 336 of file intern/libmv/libmv/simple_pipeline/pipeline.cc.
References reconstruction.
bool libmv::ProjectiveResect | ( | const vector< Marker > & | markers, |
ProjectiveReconstruction * | reconstruction | ||
) |
Estimate the projective pose of a camera from 2D to 3D correspondences.
This takes a set of markers visible in one frame (which is the one to resection), such that the markers are also reconstructed in a projective frame in the reconstruction object, and solves for the projective matrix of the camera for that frame.
markers should contain markers belonging to tracks visible in the one frame to be resectioned. Each of the tracks associated with the markers must have a corresponding reconstructed homogeneous 3D position in the *reconstruction object.
*reconstruction should contain the homogeneous 3D points associated with the tracks for the markers present in markers.
Definition at line 224 of file resect.cc.
References image(), libmv::EuclideanReconstruction::InsertCamera(), LG, markers, P(), params, libmv::EuclideanReconstruction::PointForTrack(), reconstruction, libmv::resection::Resection(), and libmv::EuclideanPoint::X.
|
static |
Definition at line 69 of file klt_region_tracker.cc.
References ceil(), libmv::Array3D< T >::cols(), blender::math::floor(), libmv::Array3D< T >::rows(), x, and y.
Referenced by libmv::BruteRegionTracker::Track(), libmv::KltRegionTracker::Track(), and libmv::TrkltRegionTracker::Track().
|
static |
Definition at line 86 of file trklt_region_tracker.cc.
References ceil(), libmv::Array3D< T >::cols(), blender::math::floor(), libmv::Array3D< T >::rows(), x, and y.
void libmv::RelativeCameraMotion | ( | const Mat3 & | R1, |
const Vec3 & | t1, | ||
const Mat3 & | R2, | ||
const Vec3 & | t2, | ||
Mat3 * | R, | ||
Vec3 * | t | ||
) |
Compute the relative camera motion between two cameras.
Given the motion parameters of two cameras, computes the motion parameters of the second one assuming the first one to be at the origin. If T1 and T2 are the camera motions, the computed relative motion is T = T2 T1^{-1}
Definition at line 282 of file fundamental.cc.
Referenced by EssentialFromRt().
void libmv::reshape | ( | const TMat & | a, |
int | rows, | ||
int | cols, | ||
TDest * | b | ||
) |
Definition at line 441 of file numeric.h.
References Freestyle::a, and usdtokens::b().
Referenced by libmv::resection::Resection().
void libmv::Rgb2Gray | ( | const ImageIn & | imaIn, |
ImageOut * | imaOut | ||
) |
Definition at line 32 of file image_converter.h.
References usdtokens::b(), usdtokens::g(), r, and T.
Referenced by Rgb2Gray().
|
inline |
Estimates the root mean square error (2D)
Definition at line 218 of file libmv/libmv/multiview/projection.h.
|
inline |
Estimates the root mean square error (2D)
Definition at line 209 of file libmv/libmv/multiview/projection.h.
References P(), and Project().
Referenced by libmv::euclidean_resection::EuclideanResectionEPnP().
Definition at line 25 of file numeric.cc.
References angle(), Freestyle::c, and R.
Referenced by TEST(), and TwoRealisticCameras().
Definition at line 37 of file numeric.cc.
References angle(), Freestyle::c, and R.
Definition at line 49 of file numeric.cc.
References angle(), Freestyle::c, and R.
Referenced by TEST(), and TwoRealisticCameras().
Returns the rotaiton matrix built from given vector of euler angles.
Definition at line 482 of file numeric.h.
References KDL::cos(), CrossProductMatrix(), KDL::sin(), and w().
Referenced by EuclideanResect().
Definition at line 61 of file numeric.cc.
References KDL::cos(), CrossProductMatrix(), KDL::sin(), and w().
|
inline |
Put the pixel in the image to the given color only if the point (xc,yc) is inside the image.
Definition at line 37 of file image_drawing.h.
References col.
Referenced by DrawCircle(), DrawEllipse(), and DrawLine().
|
inline |
Put the pixel in the image to the given color only if the point (xc,yc) is inside the image. This function support multi-channel color
Definition at line 48 of file image_drawing.h.
References col.
|
inline |
Linear interpolation.
Definition at line 55 of file libmv/libmv/image/sample.h.
References image(), LinearInitAxis(), T, v, x, x2, y, and y1.
Referenced by ComputeTrackingEquation(), SamplePattern(), and SamplePlanarPatch().
|
inline |
Linear interpolation, of all channels. The sample is assumed to have the same size as the number of channels in image.
Definition at line 74 of file libmv/libmv/image/sample.h.
References image(), LinearInitAxis(), sample, T, x, x2, y, and y1.
|
inline |
Definition at line 119 of file libmv/libmv/image/sample.h.
References Freestyle::c, channels(), image(), r, libmv::Array3D< T >::Resize(), SampleLinear(), x, and y.
Referenced by libmv::BruteRegionTracker::Track().
bool libmv::SamplePlanarPatch | ( | const FloatImage & | image, |
const double * | xs, | ||
const double * | ys, | ||
int | num_samples_x, | ||
int | num_samples_y, | ||
FloatImage * | mask, | ||
FloatImage * | patch, | ||
double * | warped_position_x, | ||
double * | warped_position_y | ||
) |
Definition at line 1564 of file libmv/tracking/track_region.cc.
References Freestyle::c, image(), LG, mask(), r, libmv::Array3D< T >::Resize(), and SampleLinear().
Referenced by libmv_samplePlanarPatchByte(), and libmv_samplePlanarPatchFloat().
void libmv::SelectKeyframesBasedOnGRICAndVariance | ( | const Tracks & | _tracks, |
const CameraIntrinsics & | intrinsics, | ||
vector< int > & | keyframes | ||
) |
Definition at line 130 of file keyframe_selection.cc.
References A, BUNDLE_NO_CONSTRAINTS, BUNDLE_NO_INTRINSICS, CoordinatesForMarkersInImage(), double(), e, EstimateFundamentalFromCorrespondences(), EstimateHomography2DFromCorrespondences(), EuclideanBundleCommonIntrinsics(), EuclideanIntersect(), libmv::BundleEvaluation::evaluate_jacobian, F, FundamentalToEssential(), H, I, libmv::ProjectiveReconstruction::InsertCamera(), libmv::BundleEvaluation::jacobian, K, LG, libmv::Tracks::MarkersForTracksInBothImages(), libmv::Tracks::MarkersInBothImages(), max, libmv::Tracks::MaxImage(), min, MotionFromEssentialAndCorrespondence(), N, libmv::CameraIntrinsics::NormalizedToImageSpace(), libmv::BundleEvaluation::num_points, libmv::ProjectiveReconstruction::PointForTrack(), R, reconstruction, Square(), SymmetricEpipolarDistance(), SymmetricGeometricDistance(), t, and x2.
Referenced by TEST().
Returns the skew anti-symmetric matrix of a vector.
Definition at line 468 of file numeric.h.
References x.
Referenced by libmv::homography::homography2D::AlgebraicError::Residuals().
Returns the skew anti-symmetric matrix of a vector with only the first two (independent) lines
Definition at line 475 of file numeric.h.
References x.
Referenced by NViewTriangulateAlgebraic().
int libmv::SolveCubicPolynomial | ( | const Real * | coeffs, |
Real * | solutions | ||
) |
Definition at line 107 of file poly.h.
References Freestyle::a, usdtokens::b(), Freestyle::c, and SolveCubicPolynomial().
int libmv::SolveCubicPolynomial | ( | Real | a, |
Real | b, | ||
Real | c, | ||
Real * | x0, | ||
Real * | x1, | ||
Real * | x2 | ||
) |
Definition at line 39 of file poly.h.
References A, Freestyle::a, KDL::acos(), B, usdtokens::b(), Freestyle::c, KDL::cos(), fabs(), M_PI, norm(), pow(), R, r, sqrt(), swap(), and x2.
Referenced by F_FromCorrespondance_2points(), FundamentalFrom7CorrespondencesLinear(), and SolveCubicPolynomial().
void libmv::SplitChannels | ( | const Array3Df & | input, |
Array3Df * | channel0, | ||
Array3Df * | channel1, | ||
Array3Df * | channel2 | ||
) |
Definition at line 68 of file array_nd.cc.
References input, and libmv::Array3D< T >::Resize().
Definition at line 247 of file numeric.h.
References x.
Referenced by MeanAndVarianceAlongRows(), SampsonDistance(), SelectKeyframesBasedOnGRICAndVariance(), and SymmetricEpipolarDistance().
Calculates the sum of the distances from the points to the epipolar lines.
See page 288 of HZ equation 11.10.
Definition at line 253 of file fundamental.cc.
References F, Square(), x, x2, and y.
Referenced by SelectKeyframesBasedOnGRICAndVariance().
Calculate symmetric geometric cost:
D(H * x1, x2)^2 + D(H^-1 * x2, x1)
Definition at line 448 of file libmv/multiview/homography.cc.
Referenced by SelectKeyframesBasedOnGRICAndVariance().
void libmv::TemplatedTrackRegion | ( | const FloatImage & | image1, |
const FloatImage & | image2, | ||
const double * | x1, | ||
const double * | y1, | ||
const TrackRegionOptions & | options, | ||
double * | x2, | ||
double * | y2, | ||
TrackRegionResult * | result | ||
) |
Definition at line 1309 of file libmv/tracking/track_region.cc.
References libmv::TrackRegionOptions::attempt_refine_before_brute, BlurredImageAndDerivativesChannels(), callback, libmv::TrackRegionResult::CONVERGENCE, libmv::TrackRegionResult::DESTINATION_OUT_OF_BOUNDS, e, libmv::TrackRegionResult::FELL_OUT_OF_BOUNDS, HANDLE_TERMINATION, libmv::TrackRegionResult::INSUFFICIENT_CORRELATION, libmv::TrackRegionResult::INSUFFICIENT_PATTERN_AREA, LG, NULL, options, result, libmv::TrackRegionResult::SOURCE_OUT_OF_BOUNDS, libmv::TrackRegionOptions::use_brute_initialization, warp(), x2, and y1.
libmv::TEST | ( | Detect | , |
FASTSinglePointTest | |||
) |
Definition at line 141 of file detect_test.cc.
References libmv::DetectOptions::FAST, and options.
libmv::TEST | ( | Detect | , |
HarrisSinglePointTest | |||
) |
Definition at line 203 of file detect_test.cc.
References libmv::DetectOptions::HARRIS, and options.
libmv::TEST | ( | Detect | , |
HarrisSingleTriangleTest | |||
) |
Definition at line 216 of file detect_test.cc.
References e, libmv::DetectOptions::HARRIS, and options.
libmv::TEST | ( | Intersect | , |
EuclideanIntersect | |||
) |
Definition at line 32 of file intersect_test.cc.
References Freestyle::a, usdtokens::b(), DistanceLInfinity(), e, EuclideanIntersect(), libmv::ProjectiveReconstruction::InsertCamera(), markers, MatrixColumn(), P_From_KRt(), libmv::ProjectiveReconstruction::PointForTrack(), Project(), reconstruction, RotationAroundX(), RotationAroundZ(), libmv::ProjectivePoint::X, X, X1, X2, and x2.
libmv::TEST | ( | KeyframeSelection | , |
CopterManualKeyFrames | |||
) |
Definition at line 187 of file keyframe_selection_test.cc.
References EXPECT_EQ(), image(), libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), markers, SelectKeyframesBasedOnGRICAndVariance(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), tracks, x, and y.
libmv::TEST | ( | KeyframeSelection | , |
ElevatorManualKeyframesFrames | |||
) |
Definition at line 241 of file keyframe_selection_test.cc.
References EXPECT_EQ(), image(), libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), markers, SelectKeyframesBasedOnGRICAndVariance(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), tracks, x, and y.
libmv::TEST | ( | KeyframeSelection | , |
ElevatorReconstructionVarianceTest | |||
) |
Definition at line 398 of file keyframe_selection_test.cc.
References EXPECT_EQ(), image(), libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), markers, SelectKeyframesBasedOnGRICAndVariance(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), tracks, x, and y.
libmv::TEST | ( | KeyframeSelection | , |
FabrikEingangFarFrames | |||
) |
Definition at line 136 of file keyframe_selection_test.cc.
References EXPECT_EQ(), image(), libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), markers, SelectKeyframesBasedOnGRICAndVariance(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), tracks, x, and y.
libmv::TEST | ( | KeyframeSelection | , |
FabrikEingangNeighborFrames | |||
) |
Definition at line 63 of file keyframe_selection_test.cc.
References EXPECT_EQ(), image(), libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), markers, SelectKeyframesBasedOnGRICAndVariance(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), tracks, x, and y.
libmv::TEST | ( | KeyframeSelection | , |
SyntheticNeighborFrame | |||
) |
Definition at line 31 of file keyframe_selection_test.cc.
References EXPECT_EQ(), libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), SelectKeyframesBasedOnGRICAndVariance(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), tracks, x, and y.
libmv::TEST | ( | ModalSolver | , |
SyntheticCubeSceneMotion | |||
) |
Definition at line 32 of file modal_solver_test.cc.
References BUNDLE_NO_INTRINSICS, BUNDLE_NO_TRANSLATION, libmv::ProjectiveReconstruction::CameraForImage(), e, EuclideanBundleCommonIntrinsics(), image(), libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), markers, ModalSolver(), NULL, reconstruction, libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), tracks, x, and y.
libmv::TEST | ( | PolynomialCameraIntrinsics | , |
ApplyIntrinsics | |||
) |
Definition at line 58 of file camera_intrinsics_test.cc.
References libmv::PolynomialCameraIntrinsics::ApplyIntrinsics(), e, N, libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), and libmv::PolynomialCameraIntrinsics::SetRadialDistortion().
libmv::TEST | ( | PolynomialCameraIntrinsics | , |
ApplyIsInvertibleSimple | |||
) |
Definition at line 170 of file camera_intrinsics_test.cc.
References libmv::PolynomialCameraIntrinsics::ApplyIntrinsics(), e, libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), LG, libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), x, and y.
libmv::TEST | ( | PolynomialCameraIntrinsics | , |
IdentityDistortBuffer | |||
) |
Definition at line 194 of file camera_intrinsics_test.cc.
References libmv::ArrayND< T, N >::Data(), libmv::CameraIntrinsics::DistortBuffer(), DrawLine(), EXPECT_EQ(), image(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetImageSize(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), w(), x, and y.
libmv::TEST | ( | PolynomialCameraIntrinsics | , |
IdentityUndistortBuffer | |||
) |
Definition at line 226 of file camera_intrinsics_test.cc.
References libmv::ArrayND< T, N >::Data(), DrawLine(), EXPECT_EQ(), image(), libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetImageSize(), libmv::CameraIntrinsics::SetPrincipalPoint(), libmv::PolynomialCameraIntrinsics::SetRadialDistortion(), libmv::CameraIntrinsics::UndistortBuffer(), w(), x, and y.
libmv::TEST | ( | PolynomialCameraIntrinsics | , |
InvertIntrinsics | |||
) |
Definition at line 114 of file camera_intrinsics_test.cc.
References e, libmv::PolynomialCameraIntrinsics::InvertIntrinsics(), N, libmv::CameraIntrinsics::SetFocalLength(), libmv::CameraIntrinsics::SetPrincipalPoint(), and libmv::PolynomialCameraIntrinsics::SetRadialDistortion().
libmv::TEST | ( | PolynomialCameraIntrinsics | , |
InvertOnFocalCenter | |||
) |
libmv::TEST | ( | PolynomialCameraIntrinsics2 | , |
ApplyOnFocalCenter | |||
) |
void libmv::TrackRegion | ( | const FloatImage & | image1, |
const FloatImage & | image2, | ||
const double * | x1, | ||
const double * | y1, | ||
const TrackRegionOptions & | options, | ||
double * | x2, | ||
double * | y2, | ||
TrackRegionResult * | result | ||
) |
Definition at line 1540 of file libmv/tracking/track_region.cc.
References HANDLE_MODE.
Referenced by libmv_trackRegion(), and mv::AutoTrack::TrackMarker().
|
inline |
void libmv::TriangulateDLT | ( | const Mat34 & | P1, |
const Vec2 & | x1, | ||
const Mat34 & | P2, | ||
const Vec2 & | x2, | ||
Vec3 * | X_euclidean | ||
) |
Definition at line 44 of file triangulation.cc.
References HomogeneousToEuclidean(), TriangulateDLT(), and x2.
void libmv::TriangulateDLT | ( | const Mat34 & | P1, |
const Vec2 & | x1, | ||
const Mat34 & | P2, | ||
const Vec2 & | x2, | ||
Vec4 * | X_homogeneous | ||
) |
Definition at line 29 of file triangulation.cc.
References Nullspace(), and x2.
Referenced by MotionFromEssentialChooseSolution(), and TriangulateDLT().
TwoViewDataSet libmv::TwoRealisticCameras | ( | bool | same_K | ) |
Definition at line 31 of file test_data_sets.cc.
References FundamentalFromProjections(), P_From_KRt(), Project(), RotationAroundX(), and RotationAroundZ().
void libmv::VerticalStack | ( | const TTop & | top, |
const TBot & | bottom, | ||
TStacked * | stacked | ||
) |
Definition at line 416 of file numeric.h.
Referenced by FundamentalFromProjections().