26 #ifndef LIBMV_MULTIVIEW_RESECTION_H
27 #define LIBMV_MULTIVIEW_RESECTION_H
38 const Matrix<T, 4, Dynamic>& X,
41 assert(
X.cols() ==
N);
43 Matrix<T, Dynamic, 12> design(2 *
N, 12);
45 for (
int i = 0; i <
N; i++) {
49 design.template block<1, 4>(2 * i, 4) = -
X.col(i).transpose();
50 design.template block<1, 4>(2 * i, 8) = yi *
X.col(i).transpose();
51 design.template block<1, 4>(2 * i + 1, 0) =
X.col(i).transpose();
52 design.template block<1, 4>(2 * i + 1, 8) = -xi *
X.col(i).transpose();
void Resection(const Matrix< T, 2, Dynamic > &x, const Matrix< T, 4, Dynamic > &X, Matrix< T, 3, 4 > *P)
double Nullspace(TMat *A, TVec *nullspace)
void reshape(const TMat &a, int rows, int cols, TDest *b)