12 #include <mrpt/3rdparty/do_opencv_includes.h>    13 #include <mrpt/config.h>    23         opoints.checkVector(3, CV_32F), opoints.checkVector(3, CV_64F));
    24     p = cv::Mat(3, 
N, CV_64F);
    25     z = cv::Mat(3, 
N, CV_64F);
    26     mn = cv::Mat::zeros(3, 1, CV_64F);
    34     if (opoints.depth() == ipoints.depth())
    36         if (opoints.depth() == CV_32F)
    37             init_points<float, float>(opoints, ipoints);
    39             init_points<double, double>(opoints, ipoints);
    41     else if (opoints.depth() == CV_32F)
    42         init_points<float, double>(opoints, ipoints);
    44         init_points<double, float>(opoints, ipoints);
    49     std::vector<cv::Mat> R_;
    50     R_.push_back(rotx(
CV_PI / 2));
    51     R_.push_back(roty(
CV_PI / 2));
    52     R_.push_back(rotz(
CV_PI / 2));
    55     for (
int i = 0; i < 3; ++i)
    58         cv::Mat pp = R_[i] * (p - cv::repeat(mn, 1, p.cols));
    68         for (
unsigned int j = 0; j < cost_.size(); ++j)
    70             if (cost_[j] < cost__)
    72                 t_est__ = t_est_[j] - C_est_[j] * R_[i] * mn;
    73                 C_est__ = C_est_[j] * R_[i];
    79     if (C_est__.cols > 0 && C_est__.rows > 0)
    91     cv::Mat Mtilde(27, 27, CV_64F);
    92     cv::Mat D = cv::Mat::zeros(9, 9, CV_64F);
    93     build_coeff_matrix(pp, Mtilde, D);
    95     cv::Mat eigenval_r, eigenval_i, eigenvec_r, eigenvec_i;
    96     compute_eigenvec(Mtilde, eigenval_r, eigenval_i, eigenvec_r, eigenvec_i);
   105     cv::Mat sols = cv::Mat::zeros(3, 27, CV_64F);
   106     std::vector<double> cost;
   108     for (
int k = 0; k < 27; ++k)
   111         cv::Mat V_kA = eigenvec_r.col(k);  
   112         cv::Mat V_kB = cv::Mat(1, 1, z.depth(), V_kA.at<
double>(0));  
   114         cv::solve(V_kB.t(), V_kA.t(), V_k);  
   115         cv::Mat(V_k.t()).copyTo(eigenvec_r.col(k));
   119         const double epsilon = 1e-4;
   120         if (eigenval_i.at<
double>(k, 0) >= -epsilon &&
   121             eigenval_i.at<
double>(k, 0) <= epsilon)
   125             stmp[0] = eigenvec_r.at<
double>(9, k);
   126             stmp[1] = eigenvec_r.at<
double>(3, k);
   127             stmp[2] = eigenvec_r.at<
double>(1, k);
   129             cv::Mat H = Hessian(stmp);
   131             cv::Mat eigenvalues, eigenvectors;
   132             cv::eigen(H, eigenvalues, eigenvectors);
   134             if (positive_eigenvalues(&eigenvalues))
   137                 cv::Mat stmp_mat(3, 1, CV_64F, &stmp);
   139                 stmp_mat.copyTo(sols.col(count));
   141                 cv::Mat Cbar = cayley2rotbar(stmp_mat);
   142                 cv::Mat Cbarvec = Cbar.reshape(1, 1).t();
   145                 cv::Mat cost_mat = Cbarvec.t() * D * Cbarvec;
   146                 cost.push_back(cost_mat.at<
double>(0));
   154     sols = sols.clone().colRange(0, count);
   156     std::vector<cv::Mat> C_est, t_est;
   157     for (
int j = 0; j < sols.cols; ++j)
   163         cv::Mat sols_j = sols.col(j);
   165             1. / (1. + cv::Mat(sols_j.t() * sols_j).at<double>(0));
   166         cv::Mat C_est_j = cayley2rotbar(sols_j).mul(sols_mult);
   167         C_est.push_back(C_est_j);
   169         cv::Mat A2 = cv::Mat::zeros(3, 3, CV_64F);
   170         cv::Mat 
b2 = cv::Mat::zeros(3, 1, CV_64F);
   171         for (
int i = 0; i < N; ++i)
   173             cv::Mat eye = cv::Mat::eye(3, 3, CV_64F);
   174             cv::Mat z_mul = z.col(i) * z.col(i).t();
   177             b2 += (z_mul - eye) * C_est_j * pp.col(i);
   182         cv::solve(A2, 
b2, X2);  
   187     for (
int k = 0; k < sols.cols; ++k)
   189         cv::Mat cam_points = C_est[k] * pp + cv::repeat(t_est[k], 1, pp.cols);
   190         cv::Mat cam_points_k = cam_points.row(2);
   192         if (is_empty(&cam_points_k))
   194             cv::Mat C_valid = C_est[k], t_valid = t_est[k];
   195             double cost_valid = cost[k];
   197             C_est_.push_back(C_valid);
   198             t_est_.push_back(t_valid);
   199             cost_.push_back(cost_valid);
   205     const cv::Mat& pp, cv::Mat& Mtilde, cv::Mat& D)
   207     cv::Mat eye = cv::Mat::eye(3, 3, CV_64F);
   213     cv::Mat H = cv::Mat::zeros(3, 3, CV_64F);
   214     cv::Mat 
A = cv::Mat::zeros(3, 9, CV_64F);
   215     cv::Mat pp_i(3, 1, CV_64F);
   217     cv::Mat z_i(3, 1, CV_64F);
   218     for (
int i = 0; i < N; ++i)
   220         z.col(i).copyTo(z_i);
   221         A += (z_i * z_i.t() - eye) * LeftMultVec(pp.col(i));
   224     H = eye.mul(N) - z * z.t();
   227     cv::solve(H, 
A, 
A, cv::DECOMP_NORMAL);
   230     cv::Mat ppi_A(3, 1, CV_64F);
   231     for (
int i = 0; i < N; ++i)
   233         z.col(i).copyTo(z_i);
   234         ppi_A = LeftMultVec(pp.col(i)) + 
A;
   235         D += ppi_A.t() * (eye - z_i * z_i.t()) * ppi_A;
   243     std::vector<double> u(5);
   244     cv::randn(u, 0, 200);
   246     cv::Mat M2 = cayley_LS_M(f1coeff, f2coeff, f3coeff, u);
   248     cv::Mat M2_1 = M2(cv::Range(0, 27), cv::Range(0, 27));
   249     cv::Mat M2_2 = M2(cv::Range(0, 27), cv::Range(27, 120));
   250     cv::Mat M2_3 = M2(cv::Range(27, 120), cv::Range(27, 120));
   251     cv::Mat M2_4 = M2(cv::Range(27, 120), cv::Range(0, 27));
   256     cv::solve(M2_3.t(), M2_2.t(), M2_5);
   262     Mtilde = M2_1 - M2_5.t() * M2_4;
   266     const cv::Mat& Mtilde, cv::Mat& eigenval_real, cv::Mat& eigenval_imag,
   267     cv::Mat& eigenvec_real, cv::Mat& eigenvec_imag)
   270     Eigen::MatrixXd Mtilde_eig, zeros_eig;
   271     cv::cv2eigen(Mtilde, Mtilde_eig);
   272     cv::cv2eigen(cv::Mat::zeros(27, 27, CV_64F), zeros_eig);
   274     Eigen::MatrixXcd Mtilde_eig_cmplx(27, 27);
   275     Mtilde_eig_cmplx.real() = Mtilde_eig;
   276     Mtilde_eig_cmplx.imag() = zeros_eig;
   278     Eigen::ComplexEigenSolver<Eigen::MatrixXcd> ces;
   279     ces.compute(Mtilde_eig_cmplx);
   281     Eigen::MatrixXd eigval_real = ces.eigenvalues().real();
   282     Eigen::MatrixXd eigval_imag = ces.eigenvalues().imag();
   283     Eigen::MatrixXd eigvec_real = ces.eigenvectors().real();
   284     Eigen::MatrixXd eigvec_imag = ces.eigenvectors().imag();
   286     cv::eigen2cv(eigval_real, eigenval_real);
   287     cv::eigen2cv(eigval_imag, eigenval_imag);
   288     cv::eigen2cv(eigvec_real, eigenvec_real);
   289     cv::eigen2cv(eigvec_imag, eigenvec_imag);
   291     EigenvalueDecomposition es(Mtilde);
   292     eigenval_real = es.eigenvalues();
   293     eigenvec_real = es.eigenvectors();
   294     eigenval_imag = eigenvec_imag = cv::Mat();
   306     for (
int i = 0; i < D_mat->rows; ++i)
   308         const auto* Di = D_mat->ptr<
double>(i);
   309         for (
int j = 0; j < D_mat->cols; ++j)
   311             D[i + 1][j + 1] = Di[j];
   317     f1coeff[1] = 2 * D[1][6] - 2 * D[1][8] + 2 * D[5][6] - 2 * D[5][8] +
   318                  2 * D[6][1] + 2 * D[6][5] + 2 * D[6][9] - 2 * D[8][1] -
   319                  2 * D[8][5] - 2 * D[8][9] + 2 * D[9][6] -
   321     f1coeff[2] = 6 * D[1][2] + 6 * D[1][4] + 6 * D[2][1] - 6 * D[2][5] -
   322                  6 * D[2][9] + 6 * D[4][1] - 6 * D[4][5] - 6 * D[4][9] -
   323                  6 * D[5][2] - 6 * D[5][4] - 6 * D[9][2] -
   325     f1coeff[3] = 4 * D[1][7] - 4 * D[1][3] + 8 * D[2][6] - 8 * D[2][8] -
   326                  4 * D[3][1] + 4 * D[3][5] + 4 * D[3][9] + 8 * D[4][6] -
   327                  8 * D[4][8] + 4 * D[5][3] - 4 * D[5][7] + 8 * D[6][2] +
   328                  8 * D[6][4] + 4 * D[7][1] - 4 * D[7][5] - 4 * D[7][9] -
   329                  8 * D[8][2] - 8 * D[8][4] + 4 * D[9][3] -
   331     f1coeff[4] = 4 * D[1][2] - 4 * D[1][4] + 4 * D[2][1] - 4 * D[2][5] -
   332                  4 * D[2][9] + 8 * D[3][6] - 8 * D[3][8] - 4 * D[4][1] +
   333                  4 * D[4][5] + 4 * D[4][9] - 4 * D[5][2] + 4 * D[5][4] +
   334                  8 * D[6][3] + 8 * D[6][7] + 8 * D[7][6] - 8 * D[7][8] -
   335                  8 * D[8][3] - 8 * D[8][7] - 4 * D[9][2] +
   337     f1coeff[5] = 8 * D[2][2] - 8 * D[3][3] - 8 * D[4][4] + 8 * D[6][6] +
   338                  8 * D[7][7] - 8 * D[8][8];  
   339     f1coeff[6] = 4 * D[2][6] - 2 * D[1][7] - 2 * D[1][3] + 4 * D[2][8] -
   340                  2 * D[3][1] + 2 * D[3][5] - 2 * D[3][9] + 4 * D[4][6] +
   341                  4 * D[4][8] + 2 * D[5][3] + 2 * D[5][7] + 4 * D[6][2] +
   342                  4 * D[6][4] - 2 * D[7][1] + 2 * D[7][5] - 2 * D[7][9] +
   343                  4 * D[8][2] + 4 * D[8][4] - 2 * D[9][3] -
   345     f1coeff[7] = 2 * D[2][5] - 2 * D[1][4] - 2 * D[2][1] - 2 * D[1][2] -
   346                  2 * D[2][9] - 2 * D[4][1] + 2 * D[4][5] - 2 * D[4][9] +
   347                  2 * D[5][2] + 2 * D[5][4] - 2 * D[9][2] - 2 * D[9][4];  
   348     f1coeff[8] = 4 * D[1][9] - 4 * D[1][1] + 8 * D[3][3] + 8 * D[3][7] +
   349                  4 * D[5][5] + 8 * D[7][3] + 8 * D[7][7] + 4 * D[9][1] -
   351     f1coeff[9] = 4 * D[1][1] - 4 * D[5][5] - 4 * D[5][9] + 8 * D[6][6] -
   352                  8 * D[6][8] - 8 * D[8][6] + 8 * D[8][8] - 4 * D[9][5] -
   354     f1coeff[10] = 2 * D[1][3] + 2 * D[1][7] + 4 * D[2][6] - 4 * D[2][8] +
   355                   2 * D[3][1] + 2 * D[3][5] + 2 * D[3][9] - 4 * D[4][6] +
   356                   4 * D[4][8] + 2 * D[5][3] + 2 * D[5][7] + 4 * D[6][2] -
   357                   4 * D[6][4] + 2 * D[7][1] + 2 * D[7][5] + 2 * D[7][9] -
   358                   4 * D[8][2] + 4 * D[8][4] + 2 * D[9][3] + 2 * D[9][7];  
   359     f1coeff[11] = 2 * D[1][2] + 2 * D[1][4] + 2 * D[2][1] + 2 * D[2][5] +
   360                   2 * D[2][9] - 4 * D[3][6] + 4 * D[3][8] + 2 * D[4][1] +
   361                   2 * D[4][5] + 2 * D[4][9] + 2 * D[5][2] + 2 * D[5][4] -
   362                   4 * D[6][3] + 4 * D[6][7] + 4 * D[7][6] - 4 * D[7][8] +
   363                   4 * D[8][3] - 4 * D[8][7] + 2 * D[9][2] + 2 * D[9][4];  
   364     f1coeff[12] = 2 * D[2][9] - 2 * D[1][4] - 2 * D[2][1] - 2 * D[2][5] -
   365                   2 * D[1][2] + 4 * D[3][6] + 4 * D[3][8] - 2 * D[4][1] -
   366                   2 * D[4][5] + 2 * D[4][9] - 2 * D[5][2] - 2 * D[5][4] +
   367                   4 * D[6][3] + 4 * D[6][7] + 4 * D[7][6] + 4 * D[7][8] +
   368                   4 * D[8][3] + 4 * D[8][7] + 2 * D[9][2] +
   370     f1coeff[13] = 6 * D[1][6] - 6 * D[1][8] - 6 * D[5][6] + 6 * D[5][8] +
   371                   6 * D[6][1] - 6 * D[6][5] - 6 * D[6][9] - 6 * D[8][1] +
   372                   6 * D[8][5] + 6 * D[8][9] - 6 * D[9][6] +
   374     f1coeff[14] = 2 * D[1][8] - 2 * D[1][6] + 4 * D[2][3] + 4 * D[2][7] +
   375                   4 * D[3][2] - 4 * D[3][4] - 4 * D[4][3] - 4 * D[4][7] -
   376                   2 * D[5][6] + 2 * D[5][8] - 2 * D[6][1] - 2 * D[6][5] +
   377                   2 * D[6][9] + 4 * D[7][2] - 4 * D[7][4] + 2 * D[8][1] +
   378                   2 * D[8][5] - 2 * D[8][9] + 2 * D[9][6] -
   380     f1coeff[15] = 2 * D[1][8] - 2 * D[1][6] - 4 * D[2][3] + 4 * D[2][7] -
   381                   4 * D[3][2] - 4 * D[3][4] - 4 * D[4][3] + 4 * D[4][7] +
   382                   2 * D[5][6] - 2 * D[5][8] - 2 * D[6][1] + 2 * D[6][5] -
   383                   2 * D[6][9] + 4 * D[7][2] + 4 * D[7][4] + 2 * D[8][1] -
   384                   2 * D[8][5] + 2 * D[8][9] - 2 * D[9][6] +
   386     f1coeff[16] = 2 * D[3][9] - 2 * D[1][7] - 2 * D[3][1] - 2 * D[3][5] -
   387                   2 * D[1][3] - 2 * D[5][3] - 2 * D[5][7] - 2 * D[7][1] -
   388                   2 * D[7][5] + 2 * D[7][9] + 2 * D[9][3] +
   390     f1coeff[17] = 4 * D[1][6] + 4 * D[1][8] + 8 * D[2][3] + 8 * D[2][7] +
   391                   8 * D[3][2] + 8 * D[3][4] + 8 * D[4][3] + 8 * D[4][7] -
   392                   4 * D[5][6] - 4 * D[5][8] + 4 * D[6][1] - 4 * D[6][5] -
   393                   4 * D[6][9] + 8 * D[7][2] + 8 * D[7][4] + 4 * D[8][1] -
   394                   4 * D[8][5] - 4 * D[8][9] - 4 * D[9][6] -
   396     f1coeff[18] = 4 * D[1][5] - 4 * D[1][1] + 8 * D[2][2] + 8 * D[2][4] +
   397                   8 * D[4][2] + 8 * D[4][4] + 4 * D[5][1] - 4 * D[5][5] +
   399     f1coeff[19] = 6 * D[1][3] + 6 * D[1][7] + 6 * D[3][1] - 6 * D[3][5] -
   400                   6 * D[3][9] - 6 * D[5][3] - 6 * D[5][7] + 6 * D[7][1] -
   401                   6 * D[7][5] - 6 * D[7][9] - 6 * D[9][3] -
   403     f1coeff[20] = 4 * D[1][1] - 4 * D[1][5] - 4 * D[1][9] - 4 * D[5][1] +
   404                   4 * D[5][5] + 4 * D[5][9] - 4 * D[9][1] + 4 * D[9][5] +
   409     f2coeff[1] = -2 * D[1][3] + 2 * D[1][7] - 2 * D[3][1] - 2 * D[3][5] -
   410                  2 * D[3][9] - 2 * D[5][3] + 2 * D[5][7] + 2 * D[7][1] +
   411                  2 * D[7][5] + 2 * D[7][9] - 2 * D[9][3] +
   413     f2coeff[2] = 4 * D[1][5] - 4 * D[1][1] + 8 * D[2][2] + 8 * D[2][4] +
   414                  8 * D[4][2] + 8 * D[4][4] + 4 * D[5][1] - 4 * D[5][5] +
   416     f2coeff[3] = 4 * D[1][8] - 4 * D[1][6] - 8 * D[2][3] + 8 * D[2][7] -
   417                  8 * D[3][2] - 8 * D[3][4] - 8 * D[4][3] + 8 * D[4][7] +
   418                  4 * D[5][6] - 4 * D[5][8] - 4 * D[6][1] + 4 * D[6][5] -
   419                  4 * D[6][9] + 8 * D[7][2] + 8 * D[7][4] + 4 * D[8][1] -
   420                  4 * D[8][5] + 4 * D[8][9] - 4 * D[9][6] +
   422     f2coeff[4] = 8 * D[2][2] - 8 * D[3][3] - 8 * D[4][4] + 8 * D[6][6] +
   423                  8 * D[7][7] - 8 * D[8][8];  
   424     f2coeff[5] = 4 * D[1][4] - 4 * D[1][2] - 4 * D[2][1] + 4 * D[2][5] -
   425                  4 * D[2][9] - 8 * D[3][6] - 8 * D[3][8] + 4 * D[4][1] -
   426                  4 * D[4][5] + 4 * D[4][9] + 4 * D[5][2] - 4 * D[5][4] -
   427                  8 * D[6][3] + 8 * D[6][7] + 8 * D[7][6] + 8 * D[7][8] -
   428                  8 * D[8][3] + 8 * D[8][7] - 4 * D[9][2] +
   430     f2coeff[6] = 6 * D[5][6] - 6 * D[1][8] - 6 * D[1][6] + 6 * D[5][8] -
   431                  6 * D[6][1] + 6 * D[6][5] - 6 * D[6][9] - 6 * D[8][1] +
   432                  6 * D[8][5] - 6 * D[8][9] - 6 * D[9][6] -
   434     f2coeff[7] = 4 * D[1][1] - 4 * D[1][5] + 4 * D[1][9] - 4 * D[5][1] +
   435                  4 * D[5][5] - 4 * D[5][9] + 4 * D[9][1] - 4 * D[9][5] +
   437     f2coeff[8] = 2 * D[2][9] - 2 * D[1][4] - 2 * D[2][1] - 2 * D[2][5] -
   438                  2 * D[1][2] + 4 * D[3][6] + 4 * D[3][8] - 2 * D[4][1] -
   439                  2 * D[4][5] + 2 * D[4][9] - 2 * D[5][2] - 2 * D[5][4] +
   440                  4 * D[6][3] + 4 * D[6][7] + 4 * D[7][6] + 4 * D[7][8] +
   441                  4 * D[8][3] + 4 * D[8][7] + 2 * D[9][2] +
   443     f2coeff[9] = 2 * D[1][2] + 2 * D[1][4] + 2 * D[2][1] + 2 * D[2][5] +
   444                  2 * D[2][9] - 4 * D[3][6] + 4 * D[3][8] + 2 * D[4][1] +
   445                  2 * D[4][5] + 2 * D[4][9] + 2 * D[5][2] + 2 * D[5][4] -
   446                  4 * D[6][3] + 4 * D[6][7] + 4 * D[7][6] - 4 * D[7][8] +
   447                  4 * D[8][3] - 4 * D[8][7] + 2 * D[9][2] + 2 * D[9][4];  
   448     f2coeff[10] = 2 * D[1][6] + 2 * D[1][8] - 4 * D[2][3] + 4 * D[2][7] -
   449                   4 * D[3][2] + 4 * D[3][4] + 4 * D[4][3] - 4 * D[4][7] +
   450                   2 * D[5][6] + 2 * D[5][8] + 2 * D[6][1] + 2 * D[6][5] +
   451                   2 * D[6][9] + 4 * D[7][2] - 4 * D[7][4] + 2 * D[8][1] +
   452                   2 * D[8][5] + 2 * D[8][9] + 2 * D[9][6] + 2 * D[9][8];  
   453     f2coeff[11] = 8 * D[3][3] - 4 * D[1][9] - 4 * D[1][1] - 8 * D[3][7] +
   454                   4 * D[5][5] - 8 * D[7][3] + 8 * D[7][7] - 4 * D[9][1] -
   456     f2coeff[12] = 4 * D[1][1] - 4 * D[5][5] + 4 * D[5][9] + 8 * D[6][6] +
   457                   8 * D[6][8] + 8 * D[8][6] + 8 * D[8][8] + 4 * D[9][5] -
   459     f2coeff[13] = 2 * D[1][7] - 2 * D[1][3] + 4 * D[2][6] - 4 * D[2][8] -
   460                   2 * D[3][1] + 2 * D[3][5] + 2 * D[3][9] + 4 * D[4][6] -
   461                   4 * D[4][8] + 2 * D[5][3] - 2 * D[5][7] + 4 * D[6][2] +
   462                   4 * D[6][4] + 2 * D[7][1] - 2 * D[7][5] - 2 * D[7][9] -
   463                   4 * D[8][2] - 4 * D[8][4] + 2 * D[9][3] -
   465     f2coeff[14] = 2 * D[1][3] - 2 * D[1][7] + 4 * D[2][6] + 4 * D[2][8] +
   466                   2 * D[3][1] + 2 * D[3][5] - 2 * D[3][9] - 4 * D[4][6] -
   467                   4 * D[4][8] + 2 * D[5][3] - 2 * D[5][7] + 4 * D[6][2] -
   468                   4 * D[6][4] - 2 * D[7][1] - 2 * D[7][5] + 2 * D[7][9] +
   469                   4 * D[8][2] - 4 * D[8][4] - 2 * D[9][3] +
   471     f2coeff[15] = 6 * D[1][3] - 6 * D[1][7] + 6 * D[3][1] - 6 * D[3][5] +
   472                   6 * D[3][9] - 6 * D[5][3] + 6 * D[5][7] - 6 * D[7][1] +
   473                   6 * D[7][5] - 6 * D[7][9] + 6 * D[9][3] -
   475     f2coeff[16] = 2 * D[6][9] - 2 * D[1][8] - 2 * D[5][6] - 2 * D[5][8] -
   476                   2 * D[6][1] - 2 * D[6][5] - 2 * D[1][6] - 2 * D[8][1] -
   477                   2 * D[8][5] + 2 * D[8][9] + 2 * D[9][6] +
   479     f2coeff[17] = 8 * D[2][6] - 4 * D[1][7] - 4 * D[1][3] + 8 * D[2][8] -
   480                   4 * D[3][1] + 4 * D[3][5] - 4 * D[3][9] + 8 * D[4][6] +
   481                   8 * D[4][8] + 4 * D[5][3] + 4 * D[5][7] + 8 * D[6][2] +
   482                   8 * D[6][4] - 4 * D[7][1] + 4 * D[7][5] - 4 * D[7][9] +
   483                   8 * D[8][2] + 8 * D[8][4] - 4 * D[9][3] -
   485     f2coeff[18] = 6 * D[2][5] - 6 * D[1][4] - 6 * D[2][1] - 6 * D[1][2] -
   486                   6 * D[2][9] - 6 * D[4][1] + 6 * D[4][5] - 6 * D[4][9] +
   487                   6 * D[5][2] + 6 * D[5][4] - 6 * D[9][2] -
   489     f2coeff[19] = 2 * D[1][6] + 2 * D[1][8] + 4 * D[2][3] + 4 * D[2][7] +
   490                   4 * D[3][2] + 4 * D[3][4] + 4 * D[4][3] + 4 * D[4][7] -
   491                   2 * D[5][6] - 2 * D[5][8] + 2 * D[6][1] - 2 * D[6][5] -
   492                   2 * D[6][9] + 4 * D[7][2] + 4 * D[7][4] + 2 * D[8][1] -
   493                   2 * D[8][5] - 2 * D[8][9] - 2 * D[9][6] -
   495     f2coeff[20] = 2 * D[1][2] + 2 * D[1][4] + 2 * D[2][1] - 2 * D[2][5] -
   496                   2 * D[2][9] + 2 * D[4][1] - 2 * D[4][5] - 2 * D[4][9] -
   497                   2 * D[5][2] - 2 * D[5][4] - 2 * D[9][2] -
   502     f3coeff[1] = 2 * D[1][2] - 2 * D[1][4] + 2 * D[2][1] + 2 * D[2][5] +
   503                  2 * D[2][9] - 2 * D[4][1] - 2 * D[4][5] - 2 * D[4][9] +
   504                  2 * D[5][2] - 2 * D[5][4] + 2 * D[9][2] -
   506     f3coeff[2] = 2 * D[1][6] + 2 * D[1][8] + 4 * D[2][3] + 4 * D[2][7] +
   507                  4 * D[3][2] + 4 * D[3][4] + 4 * D[4][3] + 4 * D[4][7] -
   508                  2 * D[5][6] - 2 * D[5][8] + 2 * D[6][1] - 2 * D[6][5] -
   509                  2 * D[6][9] + 4 * D[7][2] + 4 * D[7][4] + 2 * D[8][1] -
   510                  2 * D[8][5] - 2 * D[8][9] - 2 * D[9][6] -
   512     f3coeff[3] = 8 * D[2][2] - 8 * D[3][3] - 8 * D[4][4] + 8 * D[6][6] +
   513                  8 * D[7][7] - 8 * D[8][8];  
   514     f3coeff[4] = 4 * D[1][8] - 4 * D[1][6] + 8 * D[2][3] + 8 * D[2][7] +
   515                  8 * D[3][2] - 8 * D[3][4] - 8 * D[4][3] - 8 * D[4][7] -
   516                  4 * D[5][6] + 4 * D[5][8] - 4 * D[6][1] - 4 * D[6][5] +
   517                  4 * D[6][9] + 8 * D[7][2] - 8 * D[7][4] + 4 * D[8][1] +
   518                  4 * D[8][5] - 4 * D[8][9] + 4 * D[9][6] -
   520     f3coeff[5] = 4 * D[1][3] - 4 * D[1][7] + 8 * D[2][6] + 8 * D[2][8] +
   521                  4 * D[3][1] + 4 * D[3][5] - 4 * D[3][9] - 8 * D[4][6] -
   522                  8 * D[4][8] + 4 * D[5][3] - 4 * D[5][7] + 8 * D[6][2] -
   523                  8 * D[6][4] - 4 * D[7][1] - 4 * D[7][5] + 4 * D[7][9] +
   524                  8 * D[8][2] - 8 * D[8][4] - 4 * D[9][3] +
   526     f3coeff[6] = 4 * D[1][1] - 4 * D[5][5] + 4 * D[5][9] + 8 * D[6][6] +
   527                  8 * D[6][8] + 8 * D[8][6] + 8 * D[8][8] + 4 * D[9][5] -
   529     f3coeff[7] = 2 * D[5][6] - 2 * D[1][8] - 2 * D[1][6] + 2 * D[5][8] -
   530                  2 * D[6][1] + 2 * D[6][5] - 2 * D[6][9] - 2 * D[8][1] +
   531                  2 * D[8][5] - 2 * D[8][9] - 2 * D[9][6] - 2 * D[9][8];  
   532     f3coeff[8] = 6 * D[3][9] - 6 * D[1][7] - 6 * D[3][1] - 6 * D[3][5] -
   533                  6 * D[1][3] - 6 * D[5][3] - 6 * D[5][7] - 6 * D[7][1] -
   534                  6 * D[7][5] + 6 * D[7][9] + 6 * D[9][3] +
   536     f3coeff[9] = 2 * D[1][3] + 2 * D[1][7] + 4 * D[2][6] - 4 * D[2][8] +
   537                  2 * D[3][1] + 2 * D[3][5] + 2 * D[3][9] - 4 * D[4][6] +
   538                  4 * D[4][8] + 2 * D[5][3] + 2 * D[5][7] + 4 * D[6][2] -
   539                  4 * D[6][4] + 2 * D[7][1] + 2 * D[7][5] + 2 * D[7][9] -
   540                  4 * D[8][2] + 4 * D[8][4] + 2 * D[9][3] + 2 * D[9][7];  
   541     f3coeff[10] = 8 * D[2][2] - 4 * D[1][5] - 4 * D[1][1] - 8 * D[2][4] -
   542                   8 * D[4][2] + 8 * D[4][4] - 4 * D[5][1] - 4 * D[5][5] +
   544     f3coeff[11] = 2 * D[1][6] + 2 * D[1][8] - 4 * D[2][3] + 4 * D[2][7] -
   545                   4 * D[3][2] + 4 * D[3][4] + 4 * D[4][3] - 4 * D[4][7] +
   546                   2 * D[5][6] + 2 * D[5][8] + 2 * D[6][1] + 2 * D[6][5] +
   547                   2 * D[6][9] + 4 * D[7][2] - 4 * D[7][4] + 2 * D[8][1] +
   548                   2 * D[8][5] + 2 * D[8][9] + 2 * D[9][6] + 2 * D[9][8];  
   549     f3coeff[12] = 6 * D[6][9] - 6 * D[1][8] - 6 * D[5][6] - 6 * D[5][8] -
   550                   6 * D[6][1] - 6 * D[6][5] - 6 * D[1][6] - 6 * D[8][1] -
   551                   6 * D[8][5] + 6 * D[8][9] + 6 * D[9][6] +
   553     f3coeff[13] = 2 * D[1][2] - 2 * D[1][4] + 2 * D[2][1] - 2 * D[2][5] -
   554                   2 * D[2][9] + 4 * D[3][6] - 4 * D[3][8] - 2 * D[4][1] +
   555                   2 * D[4][5] + 2 * D[4][9] - 2 * D[5][2] + 2 * D[5][4] +
   556                   4 * D[6][3] + 4 * D[6][7] + 4 * D[7][6] - 4 * D[7][8] -
   557                   4 * D[8][3] - 4 * D[8][7] - 2 * D[9][2] +
   559     f3coeff[14] = 6 * D[1][4] - 6 * D[1][2] - 6 * D[2][1] - 6 * D[2][5] +
   560                   6 * D[2][9] + 6 * D[4][1] + 6 * D[4][5] - 6 * D[4][9] -
   561                   6 * D[5][2] + 6 * D[5][4] + 6 * D[9][2] -
   563     f3coeff[15] = 2 * D[1][4] - 2 * D[1][2] - 2 * D[2][1] + 2 * D[2][5] -
   564                   2 * D[2][9] - 4 * D[3][6] - 4 * D[3][8] + 2 * D[4][1] -
   565                   2 * D[4][5] + 2 * D[4][9] + 2 * D[5][2] - 2 * D[5][4] -
   566                   4 * D[6][3] + 4 * D[6][7] + 4 * D[7][6] + 4 * D[7][8] -
   567                   4 * D[8][3] + 4 * D[8][7] - 2 * D[9][2] +
   569     f3coeff[16] = 4 * D[1][1] + 4 * D[1][5] - 4 * D[1][9] + 4 * D[5][1] +
   570                   4 * D[5][5] - 4 * D[5][9] - 4 * D[9][1] - 4 * D[9][5] +
   572     f3coeff[17] = 4 * D[2][9] - 4 * D[1][4] - 4 * D[2][1] - 4 * D[2][5] -
   573                   4 * D[1][2] + 8 * D[3][6] + 8 * D[3][8] - 4 * D[4][1] -
   574                   4 * D[4][5] + 4 * D[4][9] - 4 * D[5][2] - 4 * D[5][4] +
   575                   8 * D[6][3] + 8 * D[6][7] + 8 * D[7][6] + 8 * D[7][8] +
   576                   8 * D[8][3] + 8 * D[8][7] + 4 * D[9][2] +
   578     f3coeff[18] = 4 * D[2][6] - 2 * D[1][7] - 2 * D[1][3] + 4 * D[2][8] -
   579                   2 * D[3][1] + 2 * D[3][5] - 2 * D[3][9] + 4 * D[4][6] +
   580                   4 * D[4][8] + 2 * D[5][3] + 2 * D[5][7] + 4 * D[6][2] +
   581                   4 * D[6][4] - 2 * D[7][1] + 2 * D[7][5] - 2 * D[7][9] +
   582                   4 * D[8][2] + 4 * D[8][4] - 2 * D[9][3] -
   584     f3coeff[19] = 4 * D[1][9] - 4 * D[1][1] + 8 * D[3][3] + 8 * D[3][7] +
   585                   4 * D[5][5] + 8 * D[7][3] + 8 * D[7][7] + 4 * D[9][1] -
   587     f3coeff[20] = 2 * D[1][3] + 2 * D[1][7] + 2 * D[3][1] - 2 * D[3][5] -
   588                   2 * D[3][9] - 2 * D[5][3] - 2 * D[5][7] + 2 * D[7][1] -
   589                   2 * D[7][5] - 2 * D[7][9] - 2 * D[9][3] -
   595     cv::Mat mat_ = cv::Mat::zeros(3, 9, CV_64F);
   597     for (
int i = 0; i < 3; ++i)
   599         mat_.at<
double>(i, 3 * i + 0) = v.at<
double>(0);
   600         mat_.at<
double>(i, 3 * i + 1) = v.at<
double>(1);
   601         mat_.at<
double>(i, 3 * i + 2) = v.at<
double>(2);
   607     const std::vector<double>& a, 
const std::vector<double>& b,
   608     const std::vector<double>& c, 
const std::vector<double>& u)
   614     cv::Mat M = cv::Mat::zeros(120, 120, CV_64F);
   616     M.at<
double>(0, 0) = u[1];
   617     M.at<
double>(0, 35) = a[1];
   618     M.at<
double>(0, 83) = b[1];
   619     M.at<
double>(0, 118) = c[1];
   620     M.at<
double>(1, 0) = u[4];
   621     M.at<
double>(1, 1) = u[1];
   622     M.at<
double>(1, 34) = a[1];
   623     M.at<
double>(1, 35) = a[10];
   624     M.at<
double>(1, 54) = b[1];
   625     M.at<
double>(1, 83) = b[10];
   626     M.at<
double>(1, 99) = c[1];
   627     M.at<
double>(1, 118) = c[10];
   628     M.at<
double>(2, 1) = u[4];
   629     M.at<
double>(2, 2) = u[1];
   630     M.at<
double>(2, 34) = a[10];
   631     M.at<
double>(2, 35) = a[14];
   632     M.at<
double>(2, 51) = a[1];
   633     M.at<
double>(2, 54) = b[10];
   634     M.at<
double>(2, 65) = b[1];
   635     M.at<
double>(2, 83) = b[14];
   636     M.at<
double>(2, 89) = c[1];
   637     M.at<
double>(2, 99) = c[10];
   638     M.at<
double>(2, 118) = c[14];
   639     M.at<
double>(3, 0) = u[3];
   640     M.at<
double>(3, 3) = u[1];
   641     M.at<
double>(3, 35) = a[11];
   642     M.at<
double>(3, 49) = a[1];
   643     M.at<
double>(3, 76) = b[1];
   644     M.at<
double>(3, 83) = b[11];
   645     M.at<
double>(3, 118) = c[11];
   646     M.at<
double>(3, 119) = c[1];
   647     M.at<
double>(4, 1) = u[3];
   648     M.at<
double>(4, 3) = u[4];
   649     M.at<
double>(4, 4) = u[1];
   650     M.at<
double>(4, 34) = a[11];
   651     M.at<
double>(4, 35) = a[5];
   652     M.at<
double>(4, 43) = a[1];
   653     M.at<
double>(4, 49) = a[10];
   654     M.at<
double>(4, 54) = b[11];
   655     M.at<
double>(4, 71) = b[1];
   656     M.at<
double>(4, 76) = b[10];
   657     M.at<
double>(4, 83) = b[5];
   658     M.at<
double>(4, 99) = c[11];
   659     M.at<
double>(4, 100) = c[1];
   660     M.at<
double>(4, 118) = c[5];
   661     M.at<
double>(4, 119) = c[10];
   662     M.at<
double>(5, 2) = u[3];
   663     M.at<
double>(5, 4) = u[4];
   664     M.at<
double>(5, 5) = u[1];
   665     M.at<
double>(5, 34) = a[5];
   666     M.at<
double>(5, 35) = a[12];
   667     M.at<
double>(5, 41) = a[1];
   668     M.at<
double>(5, 43) = a[10];
   669     M.at<
double>(5, 49) = a[14];
   670     M.at<
double>(5, 51) = a[11];
   671     M.at<
double>(5, 54) = b[5];
   672     M.at<
double>(5, 62) = b[1];
   673     M.at<
double>(5, 65) = b[11];
   674     M.at<
double>(5, 71) = b[10];
   675     M.at<
double>(5, 76) = b[14];
   676     M.at<
double>(5, 83) = b[12];
   677     M.at<
double>(5, 89) = c[11];
   678     M.at<
double>(5, 99) = c[5];
   679     M.at<
double>(5, 100) = c[10];
   680     M.at<
double>(5, 111) = c[1];
   681     M.at<
double>(5, 118) = c[12];
   682     M.at<
double>(5, 119) = c[14];
   683     M.at<
double>(6, 3) = u[3];
   684     M.at<
double>(6, 6) = u[1];
   685     M.at<
double>(6, 30) = a[1];
   686     M.at<
double>(6, 35) = a[15];
   687     M.at<
double>(6, 49) = a[11];
   688     M.at<
double>(6, 75) = b[1];
   689     M.at<
double>(6, 76) = b[11];
   690     M.at<
double>(6, 83) = b[15];
   691     M.at<
double>(6, 107) = c[1];
   692     M.at<
double>(6, 118) = c[15];
   693     M.at<
double>(6, 119) = c[11];
   694     M.at<
double>(7, 4) = u[3];
   695     M.at<
double>(7, 6) = u[4];
   696     M.at<
double>(7, 7) = u[1];
   697     M.at<
double>(7, 30) = a[10];
   698     M.at<
double>(7, 34) = a[15];
   699     M.at<
double>(7, 35) = a[6];
   700     M.at<
double>(7, 43) = a[11];
   701     M.at<
double>(7, 45) = a[1];
   702     M.at<
double>(7, 49) = a[5];
   703     M.at<
double>(7, 54) = b[15];
   704     M.at<
double>(7, 63) = b[1];
   705     M.at<
double>(7, 71) = b[11];
   706     M.at<
double>(7, 75) = b[10];
   707     M.at<
double>(7, 76) = b[5];
   708     M.at<
double>(7, 83) = b[6];
   709     M.at<
double>(7, 99) = c[15];
   710     M.at<
double>(7, 100) = c[11];
   711     M.at<
double>(7, 107) = c[10];
   712     M.at<
double>(7, 112) = c[1];
   713     M.at<
double>(7, 118) = c[6];
   714     M.at<
double>(7, 119) = c[5];
   715     M.at<
double>(8, 5) = u[3];
   716     M.at<
double>(8, 7) = u[4];
   717     M.at<
double>(8, 8) = u[1];
   718     M.at<
double>(8, 30) = a[14];
   719     M.at<
double>(8, 34) = a[6];
   720     M.at<
double>(8, 41) = a[11];
   721     M.at<
double>(8, 43) = a[5];
   722     M.at<
double>(8, 45) = a[10];
   723     M.at<
double>(8, 46) = a[1];
   724     M.at<
double>(8, 49) = a[12];
   725     M.at<
double>(8, 51) = a[15];
   726     M.at<
double>(8, 54) = b[6];
   727     M.at<
double>(8, 62) = b[11];
   728     M.at<
double>(8, 63) = b[10];
   729     M.at<
double>(8, 65) = b[15];
   730     M.at<
double>(8, 66) = b[1];
   731     M.at<
double>(8, 71) = b[5];
   732     M.at<
double>(8, 75) = b[14];
   733     M.at<
double>(8, 76) = b[12];
   734     M.at<
double>(8, 89) = c[15];
   735     M.at<
double>(8, 99) = c[6];
   736     M.at<
double>(8, 100) = c[5];
   737     M.at<
double>(8, 102) = c[1];
   738     M.at<
double>(8, 107) = c[14];
   739     M.at<
double>(8, 111) = c[11];
   740     M.at<
double>(8, 112) = c[10];
   741     M.at<
double>(8, 119) = c[12];
   742     M.at<
double>(9, 0) = u[2];
   743     M.at<
double>(9, 9) = u[1];
   744     M.at<
double>(9, 35) = a[9];
   745     M.at<
double>(9, 36) = a[1];
   746     M.at<
double>(9, 83) = b[9];
   747     M.at<
double>(9, 84) = b[1];
   748     M.at<
double>(9, 88) = c[1];
   749     M.at<
double>(9, 118) = c[9];
   750     M.at<
double>(10, 1) = u[2];
   751     M.at<
double>(10, 9) = u[4];
   752     M.at<
double>(10, 10) = u[1];
   753     M.at<
double>(10, 33) = a[1];
   754     M.at<
double>(10, 34) = a[9];
   755     M.at<
double>(10, 35) = a[4];
   756     M.at<
double>(10, 36) = a[10];
   757     M.at<
double>(10, 54) = b[9];
   758     M.at<
double>(10, 59) = b[1];
   759     M.at<
double>(10, 83) = b[4];
   760     M.at<
double>(10, 84) = b[10];
   761     M.at<
double>(10, 88) = c[10];
   762     M.at<
double>(10, 99) = c[9];
   763     M.at<
double>(10, 117) = c[1];
   764     M.at<
double>(10, 118) = c[4];
   765     M.at<
double>(11, 2) = u[2];
   766     M.at<
double>(11, 10) = u[4];
   767     M.at<
double>(11, 11) = u[1];
   768     M.at<
double>(11, 28) = a[1];
   769     M.at<
double>(11, 33) = a[10];
   770     M.at<
double>(11, 34) = a[4];
   771     M.at<
double>(11, 35) = a[8];
   772     M.at<
double>(11, 36) = a[14];
   773     M.at<
double>(11, 51) = a[9];
   774     M.at<
double>(11, 54) = b[4];
   775     M.at<
double>(11, 57) = b[1];
   776     M.at<
double>(11, 59) = b[10];
   777     M.at<
double>(11, 65) = b[9];
   778     M.at<
double>(11, 83) = b[8];
   779     M.at<
double>(11, 84) = b[14];
   780     M.at<
double>(11, 88) = c[14];
   781     M.at<
double>(11, 89) = c[9];
   782     M.at<
double>(11, 99) = c[4];
   783     M.at<
double>(11, 114) = c[1];
   784     M.at<
double>(11, 117) = c[10];
   785     M.at<
double>(11, 118) = c[8];
   786     M.at<
double>(12, 3) = u[2];
   787     M.at<
double>(12, 9) = u[3];
   788     M.at<
double>(12, 12) = u[1];
   789     M.at<
double>(12, 35) = a[3];
   790     M.at<
double>(12, 36) = a[11];
   791     M.at<
double>(12, 39) = a[1];
   792     M.at<
double>(12, 49) = a[9];
   793     M.at<
double>(12, 76) = b[9];
   794     M.at<
double>(12, 79) = b[1];
   795     M.at<
double>(12, 83) = b[3];
   796     M.at<
double>(12, 84) = b[11];
   797     M.at<
double>(12, 88) = c[11];
   798     M.at<
double>(12, 96) = c[1];
   799     M.at<
double>(12, 118) = c[3];
   800     M.at<
double>(12, 119) = c[9];
   801     M.at<
double>(13, 4) = u[2];
   802     M.at<
double>(13, 10) = u[3];
   803     M.at<
double>(13, 12) = u[4];
   804     M.at<
double>(13, 13) = u[1];
   805     M.at<
double>(13, 33) = a[11];
   806     M.at<
double>(13, 34) = a[3];
   807     M.at<
double>(13, 35) = a[17];
   808     M.at<
double>(13, 36) = a[5];
   809     M.at<
double>(13, 39) = a[10];
   810     M.at<
double>(13, 43) = a[9];
   811     M.at<
double>(13, 47) = a[1];
   812     M.at<
double>(13, 49) = a[4];
   813     M.at<
double>(13, 54) = b[3];
   814     M.at<
double>(13, 59) = b[11];
   815     M.at<
double>(13, 60) = b[1];
   816     M.at<
double>(13, 71) = b[9];
   817     M.at<
double>(13, 76) = b[4];
   818     M.at<
double>(13, 79) = b[10];
   819     M.at<
double>(13, 83) = b[17];
   820     M.at<
double>(13, 84) = b[5];
   821     M.at<
double>(13, 88) = c[5];
   822     M.at<
double>(13, 90) = c[1];
   823     M.at<
double>(13, 96) = c[10];
   824     M.at<
double>(13, 99) = c[3];
   825     M.at<
double>(13, 100) = c[9];
   826     M.at<
double>(13, 117) = c[11];
   827     M.at<
double>(13, 118) = c[17];
   828     M.at<
double>(13, 119) = c[4];
   829     M.at<
double>(14, 5) = u[2];
   830     M.at<
double>(14, 11) = u[3];
   831     M.at<
double>(14, 13) = u[4];
   832     M.at<
double>(14, 14) = u[1];
   833     M.at<
double>(14, 28) = a[11];
   834     M.at<
double>(14, 33) = a[5];
   835     M.at<
double>(14, 34) = a[17];
   836     M.at<
double>(14, 36) = a[12];
   837     M.at<
double>(14, 39) = a[14];
   838     M.at<
double>(14, 41) = a[9];
   839     M.at<
double>(14, 42) = a[1];
   840     M.at<
double>(14, 43) = a[4];
   841     M.at<
double>(14, 47) = a[10];
   842     M.at<
double>(14, 49) = a[8];
   843     M.at<
double>(14, 51) = a[3];
   844     M.at<
double>(14, 54) = b[17];
   845     M.at<
double>(14, 56) = b[1];
   846     M.at<
double>(14, 57) = b[11];
   847     M.at<
double>(14, 59) = b[5];
   848     M.at<
double>(14, 60) = b[10];
   849     M.at<
double>(14, 62) = b[9];
   850     M.at<
double>(14, 65) = b[3];
   851     M.at<
double>(14, 71) = b[4];
   852     M.at<
double>(14, 76) = b[8];
   853     M.at<
double>(14, 79) = b[14];
   854     M.at<
double>(14, 84) = b[12];
   855     M.at<
double>(14, 88) = c[12];
   856     M.at<
double>(14, 89) = c[3];
   857     M.at<
double>(14, 90) = c[10];
   858     M.at<
double>(14, 96) = c[14];
   859     M.at<
double>(14, 99) = c[17];
   860     M.at<
double>(14, 100) = c[4];
   861     M.at<
double>(14, 106) = c[1];
   862     M.at<
double>(14, 111) = c[9];
   863     M.at<
double>(14, 114) = c[11];
   864     M.at<
double>(14, 117) = c[5];
   865     M.at<
double>(14, 119) = c[8];
   866     M.at<
double>(15, 6) = u[2];
   867     M.at<
double>(15, 12) = u[3];
   868     M.at<
double>(15, 15) = u[1];
   869     M.at<
double>(15, 29) = a[1];
   870     M.at<
double>(15, 30) = a[9];
   871     M.at<
double>(15, 35) = a[18];
   872     M.at<
double>(15, 36) = a[15];
   873     M.at<
double>(15, 39) = a[11];
   874     M.at<
double>(15, 49) = a[3];
   875     M.at<
double>(15, 74) = b[1];
   876     M.at<
double>(15, 75) = b[9];
   877     M.at<
double>(15, 76) = b[3];
   878     M.at<
double>(15, 79) = b[11];
   879     M.at<
double>(15, 83) = b[18];
   880     M.at<
double>(15, 84) = b[15];
   881     M.at<
double>(15, 88) = c[15];
   882     M.at<
double>(15, 94) = c[1];
   883     M.at<
double>(15, 96) = c[11];
   884     M.at<
double>(15, 107) = c[9];
   885     M.at<
double>(15, 118) = c[18];
   886     M.at<
double>(15, 119) = c[3];
   887     M.at<
double>(16, 7) = u[2];
   888     M.at<
double>(16, 13) = u[3];
   889     M.at<
double>(16, 15) = u[4];
   890     M.at<
double>(16, 16) = u[1];
   891     M.at<
double>(16, 29) = a[10];
   892     M.at<
double>(16, 30) = a[4];
   893     M.at<
double>(16, 33) = a[15];
   894     M.at<
double>(16, 34) = a[18];
   895     M.at<
double>(16, 36) = a[6];
   896     M.at<
double>(16, 39) = a[5];
   897     M.at<
double>(16, 43) = a[3];
   898     M.at<
double>(16, 44) = a[1];
   899     M.at<
double>(16, 45) = a[9];
   900     M.at<
double>(16, 47) = a[11];
   901     M.at<
double>(16, 49) = a[17];
   902     M.at<
double>(16, 54) = b[18];
   903     M.at<
double>(16, 59) = b[15];
   904     M.at<
double>(16, 60) = b[11];
   905     M.at<
double>(16, 63) = b[9];
   906     M.at<
double>(16, 68) = b[1];
   907     M.at<
double>(16, 71) = b[3];
   908     M.at<
double>(16, 74) = b[10];
   909     M.at<
double>(16, 75) = b[4];
   910     M.at<
double>(16, 76) = b[17];
   911     M.at<
double>(16, 79) = b[5];
   912     M.at<
double>(16, 84) = b[6];
   913     M.at<
double>(16, 88) = c[6];
   914     M.at<
double>(16, 90) = c[11];
   915     M.at<
double>(16, 94) = c[10];
   916     M.at<
double>(16, 96) = c[5];
   917     M.at<
double>(16, 97) = c[1];
   918     M.at<
double>(16, 99) = c[18];
   919     M.at<
double>(16, 100) = c[3];
   920     M.at<
double>(16, 107) = c[4];
   921     M.at<
double>(16, 112) = c[9];
   922     M.at<
double>(16, 117) = c[15];
   923     M.at<
double>(16, 119) = c[17];
   924     M.at<
double>(17, 8) = u[2];
   925     M.at<
double>(17, 14) = u[3];
   926     M.at<
double>(17, 16) = u[4];
   927     M.at<
double>(17, 17) = u[1];
   928     M.at<
double>(17, 28) = a[15];
   929     M.at<
double>(17, 29) = a[14];
   930     M.at<
double>(17, 30) = a[8];
   931     M.at<
double>(17, 33) = a[6];
   932     M.at<
double>(17, 39) = a[12];
   933     M.at<
double>(17, 41) = a[3];
   934     M.at<
double>(17, 42) = a[11];
   935     M.at<
double>(17, 43) = a[17];
   936     M.at<
double>(17, 44) = a[10];
   937     M.at<
double>(17, 45) = a[4];
   938     M.at<
double>(17, 46) = a[9];
   939     M.at<
double>(17, 47) = a[5];
   940     M.at<
double>(17, 51) = a[18];
   941     M.at<
double>(17, 56) = b[11];
   942     M.at<
double>(17, 57) = b[15];
   943     M.at<
double>(17, 59) = b[6];
   944     M.at<
double>(17, 60) = b[5];
   945     M.at<
double>(17, 62) = b[3];
   946     M.at<
double>(17, 63) = b[4];
   947     M.at<
double>(17, 65) = b[18];
   948     M.at<
double>(17, 66) = b[9];
   949     M.at<
double>(17, 68) = b[10];
   950     M.at<
double>(17, 71) = b[17];
   951     M.at<
double>(17, 74) = b[14];
   952     M.at<
double>(17, 75) = b[8];
   953     M.at<
double>(17, 79) = b[12];
   954     M.at<
double>(17, 89) = c[18];
   955     M.at<
double>(17, 90) = c[5];
   956     M.at<
double>(17, 94) = c[14];
   957     M.at<
double>(17, 96) = c[12];
   958     M.at<
double>(17, 97) = c[10];
   959     M.at<
double>(17, 100) = c[17];
   960     M.at<
double>(17, 102) = c[9];
   961     M.at<
double>(17, 106) = c[11];
   962     M.at<
double>(17, 107) = c[8];
   963     M.at<
double>(17, 111) = c[3];
   964     M.at<
double>(17, 112) = c[4];
   965     M.at<
double>(17, 114) = c[15];
   966     M.at<
double>(17, 117) = c[6];
   967     M.at<
double>(18, 9) = u[2];
   968     M.at<
double>(18, 18) = u[1];
   969     M.at<
double>(18, 35) = a[13];
   970     M.at<
double>(18, 36) = a[9];
   971     M.at<
double>(18, 53) = a[1];
   972     M.at<
double>(18, 82) = b[1];
   973     M.at<
double>(18, 83) = b[13];
   974     M.at<
double>(18, 84) = b[9];
   975     M.at<
double>(18, 87) = c[1];
   976     M.at<
double>(18, 88) = c[9];
   977     M.at<
double>(18, 118) = c[13];
   978     M.at<
double>(19, 10) = u[2];
   979     M.at<
double>(19, 18) = u[4];
   980     M.at<
double>(19, 19) = u[1];
   981     M.at<
double>(19, 32) = a[1];
   982     M.at<
double>(19, 33) = a[9];
   983     M.at<
double>(19, 34) = a[13];
   984     M.at<
double>(19, 35) = a[19];
   985     M.at<
double>(19, 36) = a[4];
   986     M.at<
double>(19, 53) = a[10];
   987     M.at<
double>(19, 54) = b[13];
   988     M.at<
double>(19, 59) = b[9];
   989     M.at<
double>(19, 61) = b[1];
   990     M.at<
double>(19, 82) = b[10];
   991     M.at<
double>(19, 83) = b[19];
   992     M.at<
double>(19, 84) = b[4];
   993     M.at<
double>(19, 87) = c[10];
   994     M.at<
double>(19, 88) = c[4];
   995     M.at<
double>(19, 99) = c[13];
   996     M.at<
double>(19, 116) = c[1];
   997     M.at<
double>(19, 117) = c[9];
   998     M.at<
double>(19, 118) = c[19];
   999     M.at<
double>(20, 11) = u[2];
  1000     M.at<
double>(20, 19) = u[4];
  1001     M.at<
double>(20, 20) = u[1];
  1002     M.at<
double>(20, 27) = a[1];
  1003     M.at<
double>(20, 28) = a[9];
  1004     M.at<
double>(20, 32) = a[10];
  1005     M.at<
double>(20, 33) = a[4];
  1006     M.at<
double>(20, 34) = a[19];
  1007     M.at<
double>(20, 36) = a[8];
  1008     M.at<
double>(20, 51) = a[13];
  1009     M.at<
double>(20, 53) = a[14];
  1010     M.at<
double>(20, 54) = b[19];
  1011     M.at<
double>(20, 55) = b[1];
  1012     M.at<
double>(20, 57) = b[9];
  1013     M.at<
double>(20, 59) = b[4];
  1014     M.at<
double>(20, 61) = b[10];
  1015     M.at<
double>(20, 65) = b[13];
  1016     M.at<
double>(20, 82) = b[14];
  1017     M.at<
double>(20, 84) = b[8];
  1018     M.at<
double>(20, 87) = c[14];
  1019     M.at<
double>(20, 88) = c[8];
  1020     M.at<
double>(20, 89) = c[13];
  1021     M.at<
double>(20, 99) = c[19];
  1022     M.at<
double>(20, 113) = c[1];
  1023     M.at<
double>(20, 114) = c[9];
  1024     M.at<
double>(20, 116) = c[10];
  1025     M.at<
double>(20, 117) = c[4];
  1026     M.at<
double>(21, 12) = u[2];
  1027     M.at<
double>(21, 18) = u[3];
  1028     M.at<
double>(21, 21) = u[1];
  1029     M.at<
double>(21, 35) = a[2];
  1030     M.at<
double>(21, 36) = a[3];
  1031     M.at<
double>(21, 38) = a[1];
  1032     M.at<
double>(21, 39) = a[9];
  1033     M.at<
double>(21, 49) = a[13];
  1034     M.at<
double>(21, 53) = a[11];
  1035     M.at<
double>(21, 76) = b[13];
  1036     M.at<
double>(21, 78) = b[1];
  1037     M.at<
double>(21, 79) = b[9];
  1038     M.at<
double>(21, 82) = b[11];
  1039     M.at<
double>(21, 83) = b[2];
  1040     M.at<
double>(21, 84) = b[3];
  1041     M.at<
double>(21, 87) = c[11];
  1042     M.at<
double>(21, 88) = c[3];
  1043     M.at<
double>(21, 92) = c[1];
  1044     M.at<
double>(21, 96) = c[9];
  1045     M.at<
double>(21, 118) = c[2];
  1046     M.at<
double>(21, 119) = c[13];
  1047     M.at<
double>(22, 13) = u[2];
  1048     M.at<
double>(22, 19) = u[3];
  1049     M.at<
double>(22, 21) = u[4];
  1050     M.at<
double>(22, 22) = u[1];
  1051     M.at<
double>(22, 32) = a[11];
  1052     M.at<
double>(22, 33) = a[3];
  1053     M.at<
double>(22, 34) = a[2];
  1054     M.at<
double>(22, 36) = a[17];
  1055     M.at<
double>(22, 38) = a[10];
  1056     M.at<
double>(22, 39) = a[4];
  1057     M.at<
double>(22, 40) = a[1];
  1058     M.at<
double>(22, 43) = a[13];
  1059     M.at<
double>(22, 47) = a[9];
  1060     M.at<
double>(22, 49) = a[19];
  1061     M.at<
double>(22, 53) = a[5];
  1062     M.at<
double>(22, 54) = b[2];
  1063     M.at<
double>(22, 59) = b[3];
  1064     M.at<
double>(22, 60) = b[9];
  1065     M.at<
double>(22, 61) = b[11];
  1066     M.at<
double>(22, 71) = b[13];
  1067     M.at<
double>(22, 72) = b[1];
  1068     M.at<
double>(22, 76) = b[19];
  1069     M.at<
double>(22, 78) = b[10];
  1070     M.at<
double>(22, 79) = b[4];
  1071     M.at<
double>(22, 82) = b[5];
  1072     M.at<
double>(22, 84) = b[17];
  1073     M.at<
double>(22, 87) = c[5];
  1074     M.at<
double>(22, 88) = c[17];
  1075     M.at<
double>(22, 90) = c[9];
  1076     M.at<
double>(22, 92) = c[10];
  1077     M.at<
double>(22, 95) = c[1];
  1078     M.at<
double>(22, 96) = c[4];
  1079     M.at<
double>(22, 99) = c[2];
  1080     M.at<
double>(22, 100) = c[13];
  1081     M.at<
double>(22, 116) = c[11];
  1082     M.at<
double>(22, 117) = c[3];
  1083     M.at<
double>(22, 119) = c[19];
  1084     M.at<
double>(23, 14) = u[2];
  1085     M.at<
double>(23, 20) = u[3];
  1086     M.at<
double>(23, 22) = u[4];
  1087     M.at<
double>(23, 23) = u[1];
  1088     M.at<
double>(23, 27) = a[11];
  1089     M.at<
double>(23, 28) = a[3];
  1090     M.at<
double>(23, 32) = a[5];
  1091     M.at<
double>(23, 33) = a[17];
  1092     M.at<
double>(23, 38) = a[14];
  1093     M.at<
double>(23, 39) = a[8];
  1094     M.at<
double>(23, 40) = a[10];
  1095     M.at<
double>(23, 41) = a[13];
  1096     M.at<
double>(23, 42) = a[9];
  1097     M.at<
double>(23, 43) = a[19];
  1098     M.at<
double>(23, 47) = a[4];
  1099     M.at<
double>(23, 51) = a[2];
  1100     M.at<
double>(23, 53) = a[12];
  1101     M.at<
double>(23, 55) = b[11];
  1102     M.at<
double>(23, 56) = b[9];
  1103     M.at<
double>(23, 57) = b[3];
  1104     M.at<
double>(23, 59) = b[17];
  1105     M.at<
double>(23, 60) = b[4];
  1106     M.at<
double>(23, 61) = b[5];
  1107     M.at<
double>(23, 62) = b[13];
  1108     M.at<
double>(23, 65) = b[2];
  1109     M.at<
double>(23, 71) = b[19];
  1110     M.at<
double>(23, 72) = b[10];
  1111     M.at<
double>(23, 78) = b[14];
  1112     M.at<
double>(23, 79) = b[8];
  1113     M.at<
double>(23, 82) = b[12];
  1114     M.at<
double>(23, 87) = c[12];
  1115     M.at<
double>(23, 89) = c[2];
  1116     M.at<
double>(23, 90) = c[4];
  1117     M.at<
double>(23, 92) = c[14];
  1118     M.at<
double>(23, 95) = c[10];
  1119     M.at<
double>(23, 96) = c[8];
  1120     M.at<
double>(23, 100) = c[19];
  1121     M.at<
double>(23, 106) = c[9];
  1122     M.at<
double>(23, 111) = c[13];
  1123     M.at<
double>(23, 113) = c[11];
  1124     M.at<
double>(23, 114) = c[3];
  1125     M.at<
double>(23, 116) = c[5];
  1126     M.at<
double>(23, 117) = c[17];
  1127     M.at<
double>(24, 15) = u[2];
  1128     M.at<
double>(24, 21) = u[3];
  1129     M.at<
double>(24, 24) = u[1];
  1130     M.at<
double>(24, 29) = a[9];
  1131     M.at<
double>(24, 30) = a[13];
  1132     M.at<
double>(24, 36) = a[18];
  1133     M.at<
double>(24, 38) = a[11];
  1134     M.at<
double>(24, 39) = a[3];
  1135     M.at<
double>(24, 49) = a[2];
  1136     M.at<
double>(24, 52) = a[1];
  1137     M.at<
double>(24, 53) = a[15];
  1138     M.at<
double>(24, 73) = b[1];
  1139     M.at<
double>(24, 74) = b[9];
  1140     M.at<
double>(24, 75) = b[13];
  1141     M.at<
double>(24, 76) = b[2];
  1142     M.at<
double>(24, 78) = b[11];
  1143     M.at<
double>(24, 79) = b[3];
  1144     M.at<
double>(24, 82) = b[15];
  1145     M.at<
double>(24, 84) = b[18];
  1146     M.at<
double>(24, 87) = c[15];
  1147     M.at<
double>(24, 88) = c[18];
  1148     M.at<
double>(24, 92) = c[11];
  1149     M.at<
double>(24, 93) = c[1];
  1150     M.at<
double>(24, 94) = c[9];
  1151     M.at<
double>(24, 96) = c[3];
  1152     M.at<
double>(24, 107) = c[13];
  1153     M.at<
double>(24, 119) = c[2];
  1154     M.at<
double>(25, 16) = u[2];
  1155     M.at<
double>(25, 22) = u[3];
  1156     M.at<
double>(25, 24) = u[4];
  1157     M.at<
double>(25, 25) = u[1];
  1158     M.at<
double>(25, 29) = a[4];
  1159     M.at<
double>(25, 30) = a[19];
  1160     M.at<
double>(25, 32) = a[15];
  1161     M.at<
double>(25, 33) = a[18];
  1162     M.at<
double>(25, 38) = a[5];
  1163     M.at<
double>(25, 39) = a[17];
  1164     M.at<
double>(25, 40) = a[11];
  1165     M.at<
double>(25, 43) = a[2];
  1166     M.at<
double>(25, 44) = a[9];
  1167     M.at<
double>(25, 45) = a[13];
  1168     M.at<
double>(25, 47) = a[3];
  1169     M.at<
double>(25, 52) = a[10];
  1170     M.at<
double>(25, 53) = a[6];
  1171     M.at<
double>(25, 59) = b[18];
  1172     M.at<
double>(25, 60) = b[3];
  1173     M.at<
double>(25, 61) = b[15];
  1174     M.at<
double>(25, 63) = b[13];
  1175     M.at<
double>(25, 68) = b[9];
  1176     M.at<
double>(25, 71) = b[2];
  1177     M.at<
double>(25, 72) = b[11];
  1178     M.at<
double>(25, 73) = b[10];
  1179     M.at<
double>(25, 74) = b[4];
  1180     M.at<
double>(25, 75) = b[19];
  1181     M.at<
double>(25, 78) = b[5];
  1182     M.at<
double>(25, 79) = b[17];
  1183     M.at<
double>(25, 82) = b[6];
  1184     M.at<
double>(25, 87) = c[6];
  1185     M.at<
double>(25, 90) = c[3];
  1186     M.at<
double>(25, 92) = c[5];
  1187     M.at<
double>(25, 93) = c[10];
  1188     M.at<
double>(25, 94) = c[4];
  1189     M.at<
double>(25, 95) = c[11];
  1190     M.at<
double>(25, 96) = c[17];
  1191     M.at<
double>(25, 97) = c[9];
  1192     M.at<
double>(25, 100) = c[2];
  1193     M.at<
double>(25, 107) = c[19];
  1194     M.at<
double>(25, 112) = c[13];
  1195     M.at<
double>(25, 116) = c[15];
  1196     M.at<
double>(25, 117) = c[18];
  1197     M.at<
double>(26, 17) = u[2];
  1198     M.at<
double>(26, 23) = u[3];
  1199     M.at<
double>(26, 25) = u[4];
  1200     M.at<
double>(26, 26) = u[1];
  1201     M.at<
double>(26, 27) = a[15];
  1202     M.at<
double>(26, 28) = a[18];
  1203     M.at<
double>(26, 29) = a[8];
  1204     M.at<
double>(26, 32) = a[6];
  1205     M.at<
double>(26, 38) = a[12];
  1206     M.at<
double>(26, 40) = a[5];
  1207     M.at<
double>(26, 41) = a[2];
  1208     M.at<
double>(26, 42) = a[3];
  1209     M.at<
double>(26, 44) = a[4];
  1210     M.at<
double>(26, 45) = a[19];
  1211     M.at<
double>(26, 46) = a[13];
  1212     M.at<
double>(26, 47) = a[17];
  1213     M.at<
double>(26, 52) = a[14];
  1214     M.at<
double>(26, 55) = b[15];
  1215     M.at<
double>(26, 56) = b[3];
  1216     M.at<
double>(26, 57) = b[18];
  1217     M.at<
double>(26, 60) = b[17];
  1218     M.at<
double>(26, 61) = b[6];
  1219     M.at<
double>(26, 62) = b[2];
  1220     M.at<
double>(26, 63) = b[19];
  1221     M.at<
double>(26, 66) = b[13];
  1222     M.at<
double>(26, 68) = b[4];
  1223     M.at<
double>(26, 72) = b[5];
  1224     M.at<
double>(26, 73) = b[14];
  1225     M.at<
double>(26, 74) = b[8];
  1226     M.at<
double>(26, 78) = b[12];
  1227     M.at<
double>(26, 90) = c[17];
  1228     M.at<
double>(26, 92) = c[12];
  1229     M.at<
double>(26, 93) = c[14];
  1230     M.at<
double>(26, 94) = c[8];
  1231     M.at<
double>(26, 95) = c[5];
  1232     M.at<
double>(26, 97) = c[4];
  1233     M.at<
double>(26, 102) = c[13];
  1234     M.at<
double>(26, 106) = c[3];
  1235     M.at<
double>(26, 111) = c[2];
  1236     M.at<
double>(26, 112) = c[19];
  1237     M.at<
double>(26, 113) = c[15];
  1238     M.at<
double>(26, 114) = c[18];
  1239     M.at<
double>(26, 116) = c[6];
  1240     M.at<
double>(27, 15) = u[3];
  1241     M.at<
double>(27, 29) = a[11];
  1242     M.at<
double>(27, 30) = a[3];
  1243     M.at<
double>(27, 36) = a[7];
  1244     M.at<
double>(27, 39) = a[15];
  1245     M.at<
double>(27, 49) = a[18];
  1246     M.at<
double>(27, 69) = b[9];
  1247     M.at<
double>(27, 70) = b[1];
  1248     M.at<
double>(27, 74) = b[11];
  1249     M.at<
double>(27, 75) = b[3];
  1250     M.at<
double>(27, 76) = b[18];
  1251     M.at<
double>(27, 79) = b[15];
  1252     M.at<
double>(27, 84) = b[7];
  1253     M.at<
double>(27, 88) = c[7];
  1254     M.at<
double>(27, 91) = c[1];
  1255     M.at<
double>(27, 94) = c[11];
  1256     M.at<
double>(27, 96) = c[15];
  1257     M.at<
double>(27, 107) = c[3];
  1258     M.at<
double>(27, 110) = c[9];
  1259     M.at<
double>(27, 119) = c[18];
  1260     M.at<
double>(28, 6) = u[3];
  1261     M.at<
double>(28, 30) = a[11];
  1262     M.at<
double>(28, 35) = a[7];
  1263     M.at<
double>(28, 49) = a[15];
  1264     M.at<
double>(28, 69) = b[1];
  1265     M.at<
double>(28, 75) = b[11];
  1266     M.at<
double>(28, 76) = b[15];
  1267     M.at<
double>(28, 83) = b[7];
  1268     M.at<
double>(28, 107) = c[11];
  1269     M.at<
double>(28, 110) = c[1];
  1270     M.at<
double>(28, 118) = c[7];
  1271     M.at<
double>(28, 119) = c[15];
  1272     M.at<
double>(29, 24) = u[3];
  1273     M.at<
double>(29, 29) = a[3];
  1274     M.at<
double>(29, 30) = a[2];
  1275     M.at<
double>(29, 38) = a[15];
  1276     M.at<
double>(29, 39) = a[18];
  1277     M.at<
double>(29, 52) = a[11];
  1278     M.at<
double>(29, 53) = a[7];
  1279     M.at<
double>(29, 69) = b[13];
  1280     M.at<
double>(29, 70) = b[9];
  1281     M.at<
double>(29, 73) = b[11];
  1282     M.at<
double>(29, 74) = b[3];
  1283     M.at<
double>(29, 75) = b[2];
  1284     M.at<
double>(29, 78) = b[15];
  1285     M.at<
double>(29, 79) = b[18];
  1286     M.at<
double>(29, 82) = b[7];
  1287     M.at<
double>(29, 87) = c[7];
  1288     M.at<
double>(29, 91) = c[9];
  1289     M.at<
double>(29, 92) = c[15];
  1290     M.at<
double>(29, 93) = c[11];
  1291     M.at<
double>(29, 94) = c[3];
  1292     M.at<
double>(29, 96) = c[18];
  1293     M.at<
double>(29, 107) = c[2];
  1294     M.at<
double>(29, 110) = c[13];
  1295     M.at<
double>(30, 37) = a[18];
  1296     M.at<
double>(30, 48) = a[7];
  1297     M.at<
double>(30, 52) = a[2];
  1298     M.at<
double>(30, 70) = b[20];
  1299     M.at<
double>(30, 73) = b[2];
  1300     M.at<
double>(30, 77) = b[18];
  1301     M.at<
double>(30, 81) = b[7];
  1302     M.at<
double>(30, 85) = c[7];
  1303     M.at<
double>(30, 91) = c[20];
  1304     M.at<
double>(30, 93) = c[2];
  1305     M.at<
double>(30, 98) = c[18];
  1306     M.at<
double>(31, 29) = a[2];
  1307     M.at<
double>(31, 37) = a[15];
  1308     M.at<
double>(31, 38) = a[18];
  1309     M.at<
double>(31, 50) = a[7];
  1310     M.at<
double>(31, 52) = a[3];
  1311     M.at<
double>(31, 69) = b[20];
  1312     M.at<
double>(31, 70) = b[13];
  1313     M.at<
double>(31, 73) = b[3];
  1314     M.at<
double>(31, 74) = b[2];
  1315     M.at<
double>(31, 77) = b[15];
  1316     M.at<
double>(31, 78) = b[18];
  1317     M.at<
double>(31, 80) = b[7];
  1318     M.at<
double>(31, 86) = c[7];
  1319     M.at<
double>(31, 91) = c[13];
  1320     M.at<
double>(31, 92) = c[18];
  1321     M.at<
double>(31, 93) = c[3];
  1322     M.at<
double>(31, 94) = c[2];
  1323     M.at<
double>(31, 98) = c[15];
  1324     M.at<
double>(31, 110) = c[20];
  1325     M.at<
double>(32, 48) = a[9];
  1326     M.at<
double>(32, 50) = a[13];
  1327     M.at<
double>(32, 53) = a[20];
  1328     M.at<
double>(32, 80) = b[13];
  1329     M.at<
double>(32, 81) = b[9];
  1330     M.at<
double>(32, 82) = b[20];
  1331     M.at<
double>(32, 85) = c[9];
  1332     M.at<
double>(32, 86) = c[13];
  1333     M.at<
double>(32, 87) = c[20];
  1334     M.at<
double>(33, 29) = a[15];
  1335     M.at<
double>(33, 30) = a[18];
  1336     M.at<
double>(33, 39) = a[7];
  1337     M.at<
double>(33, 64) = b[9];
  1338     M.at<
double>(33, 69) = b[3];
  1339     M.at<
double>(33, 70) = b[11];
  1340     M.at<
double>(33, 74) = b[15];
  1341     M.at<
double>(33, 75) = b[18];
  1342     M.at<
double>(33, 79) = b[7];
  1343     M.at<
double>(33, 91) = c[11];
  1344     M.at<
double>(33, 94) = c[15];
  1345     M.at<
double>(33, 96) = c[7];
  1346     M.at<
double>(33, 103) = c[9];
  1347     M.at<
double>(33, 107) = c[18];
  1348     M.at<
double>(33, 110) = c[3];
  1349     M.at<
double>(34, 29) = a[18];
  1350     M.at<
double>(34, 38) = a[7];
  1351     M.at<
double>(34, 52) = a[15];
  1352     M.at<
double>(34, 64) = b[13];
  1353     M.at<
double>(34, 69) = b[2];
  1354     M.at<
double>(34, 70) = b[3];
  1355     M.at<
double>(34, 73) = b[15];
  1356     M.at<
double>(34, 74) = b[18];
  1357     M.at<
double>(34, 78) = b[7];
  1358     M.at<
double>(34, 91) = c[3];
  1359     M.at<
double>(34, 92) = c[7];
  1360     M.at<
double>(34, 93) = c[15];
  1361     M.at<
double>(34, 94) = c[18];
  1362     M.at<
double>(34, 103) = c[13];
  1363     M.at<
double>(34, 110) = c[2];
  1364     M.at<
double>(35, 37) = a[7];
  1365     M.at<
double>(35, 52) = a[18];
  1366     M.at<
double>(35, 64) = b[20];
  1367     M.at<
double>(35, 70) = b[2];
  1368     M.at<
double>(35, 73) = b[18];
  1369     M.at<
double>(35, 77) = b[7];
  1370     M.at<
double>(35, 91) = c[2];
  1371     M.at<
double>(35, 93) = c[18];
  1372     M.at<
double>(35, 98) = c[7];
  1373     M.at<
double>(35, 103) = c[20];
  1374     M.at<
double>(36, 5) = u[4];
  1375     M.at<
double>(36, 34) = a[12];
  1376     M.at<
double>(36, 41) = a[10];
  1377     M.at<
double>(36, 43) = a[14];
  1378     M.at<
double>(36, 49) = a[16];
  1379     M.at<
double>(36, 51) = a[5];
  1380     M.at<
double>(36, 54) = b[12];
  1381     M.at<
double>(36, 62) = b[10];
  1382     M.at<
double>(36, 65) = b[5];
  1383     M.at<
double>(36, 71) = b[14];
  1384     M.at<
double>(36, 76) = b[16];
  1385     M.at<
double>(36, 89) = c[5];
  1386     M.at<
double>(36, 99) = c[12];
  1387     M.at<
double>(36, 100) = c[14];
  1388     M.at<
double>(36, 101) = c[1];
  1389     M.at<
double>(36, 109) = c[11];
  1390     M.at<
double>(36, 111) = c[10];
  1391     M.at<
double>(36, 119) = c[16];
  1392     M.at<
double>(37, 2) = u[4];
  1393     M.at<
double>(37, 34) = a[14];
  1394     M.at<
double>(37, 35) = a[16];
  1395     M.at<
double>(37, 51) = a[10];
  1396     M.at<
double>(37, 54) = b[14];
  1397     M.at<
double>(37, 65) = b[10];
  1398     M.at<
double>(37, 83) = b[16];
  1399     M.at<
double>(37, 89) = c[10];
  1400     M.at<
double>(37, 99) = c[14];
  1401     M.at<
double>(37, 109) = c[1];
  1402     M.at<
double>(37, 118) = c[16];
  1403     M.at<
double>(38, 30) = a[15];
  1404     M.at<
double>(38, 49) = a[7];
  1405     M.at<
double>(38, 64) = b[1];
  1406     M.at<
double>(38, 69) = b[11];
  1407     M.at<
double>(38, 75) = b[15];
  1408     M.at<
double>(38, 76) = b[7];
  1409     M.at<
double>(38, 103) = c[1];
  1410     M.at<
double>(38, 107) = c[15];
  1411     M.at<
double>(38, 110) = c[11];
  1412     M.at<
double>(38, 119) = c[7];
  1413     M.at<
double>(39, 28) = a[14];
  1414     M.at<
double>(39, 33) = a[16];
  1415     M.at<
double>(39, 51) = a[8];
  1416     M.at<
double>(39, 57) = b[14];
  1417     M.at<
double>(39, 59) = b[16];
  1418     M.at<
double>(39, 65) = b[8];
  1419     M.at<
double>(39, 89) = c[8];
  1420     M.at<
double>(39, 105) = c[9];
  1421     M.at<
double>(39, 108) = c[10];
  1422     M.at<
double>(39, 109) = c[4];
  1423     M.at<
double>(39, 114) = c[14];
  1424     M.at<
double>(39, 117) = c[16];
  1425     M.at<
double>(40, 27) = a[14];
  1426     M.at<
double>(40, 28) = a[8];
  1427     M.at<
double>(40, 32) = a[16];
  1428     M.at<
double>(40, 55) = b[14];
  1429     M.at<
double>(40, 57) = b[8];
  1430     M.at<
double>(40, 61) = b[16];
  1431     M.at<
double>(40, 105) = c[13];
  1432     M.at<
double>(40, 108) = c[4];
  1433     M.at<
double>(40, 109) = c[19];
  1434     M.at<
double>(40, 113) = c[14];
  1435     M.at<
double>(40, 114) = c[8];
  1436     M.at<
double>(40, 116) = c[16];
  1437     M.at<
double>(41, 30) = a[7];
  1438     M.at<
double>(41, 64) = b[11];
  1439     M.at<
double>(41, 69) = b[15];
  1440     M.at<
double>(41, 75) = b[7];
  1441     M.at<
double>(41, 103) = c[11];
  1442     M.at<
double>(41, 107) = c[7];
  1443     M.at<
double>(41, 110) = c[15];
  1444     M.at<
double>(42, 27) = a[8];
  1445     M.at<
double>(42, 31) = a[16];
  1446     M.at<
double>(42, 55) = b[8];
  1447     M.at<
double>(42, 58) = b[16];
  1448     M.at<
double>(42, 105) = c[20];
  1449     M.at<
double>(42, 108) = c[19];
  1450     M.at<
double>(42, 113) = c[8];
  1451     M.at<
double>(42, 115) = c[16];
  1452     M.at<
double>(43, 29) = a[7];
  1453     M.at<
double>(43, 64) = b[3];
  1454     M.at<
double>(43, 69) = b[18];
  1455     M.at<
double>(43, 70) = b[15];
  1456     M.at<
double>(43, 74) = b[7];
  1457     M.at<
double>(43, 91) = c[15];
  1458     M.at<
double>(43, 94) = c[7];
  1459     M.at<
double>(43, 103) = c[3];
  1460     M.at<
double>(43, 110) = c[18];
  1461     M.at<
double>(44, 28) = a[16];
  1462     M.at<
double>(44, 57) = b[16];
  1463     M.at<
double>(44, 105) = c[4];
  1464     M.at<
double>(44, 108) = c[14];
  1465     M.at<
double>(44, 109) = c[8];
  1466     M.at<
double>(44, 114) = c[16];
  1467     M.at<
double>(45, 27) = a[16];
  1468     M.at<
double>(45, 55) = b[16];
  1469     M.at<
double>(45, 105) = c[19];
  1470     M.at<
double>(45, 108) = c[8];
  1471     M.at<
double>(45, 113) = c[16];
  1472     M.at<
double>(46, 52) = a[7];
  1473     M.at<
double>(46, 64) = b[2];
  1474     M.at<
double>(46, 70) = b[18];
  1475     M.at<
double>(46, 73) = b[7];
  1476     M.at<
double>(46, 91) = c[18];
  1477     M.at<
double>(46, 93) = c[7];
  1478     M.at<
double>(46, 103) = c[2];
  1479     M.at<
double>(47, 40) = a[7];
  1480     M.at<
double>(47, 44) = a[18];
  1481     M.at<
double>(47, 52) = a[6];
  1482     M.at<
double>(47, 64) = b[19];
  1483     M.at<
double>(47, 67) = b[2];
  1484     M.at<
double>(47, 68) = b[18];
  1485     M.at<
double>(47, 70) = b[17];
  1486     M.at<
double>(47, 72) = b[7];
  1487     M.at<
double>(47, 73) = b[6];
  1488     M.at<
double>(47, 91) = c[17];
  1489     M.at<
double>(47, 93) = c[6];
  1490     M.at<
double>(47, 95) = c[7];
  1491     M.at<
double>(47, 97) = c[18];
  1492     M.at<
double>(47, 103) = c[19];
  1493     M.at<
double>(47, 104) = c[2];
  1494     M.at<
double>(48, 30) = a[6];
  1495     M.at<
double>(48, 43) = a[7];
  1496     M.at<
double>(48, 45) = a[15];
  1497     M.at<
double>(48, 63) = b[15];
  1498     M.at<
double>(48, 64) = b[10];
  1499     M.at<
double>(48, 67) = b[11];
  1500     M.at<
double>(48, 69) = b[5];
  1501     M.at<
double>(48, 71) = b[7];
  1502     M.at<
double>(48, 75) = b[6];
  1503     M.at<
double>(48, 100) = c[7];
  1504     M.at<
double>(48, 103) = c[10];
  1505     M.at<
double>(48, 104) = c[11];
  1506     M.at<
double>(48, 107) = c[6];
  1507     M.at<
double>(48, 110) = c[5];
  1508     M.at<
double>(48, 112) = c[15];
  1509     M.at<
double>(49, 41) = a[12];
  1510     M.at<
double>(49, 45) = a[16];
  1511     M.at<
double>(49, 46) = a[14];
  1512     M.at<
double>(49, 62) = b[12];
  1513     M.at<
double>(49, 63) = b[16];
  1514     M.at<
double>(49, 66) = b[14];
  1515     M.at<
double>(49, 101) = c[5];
  1516     M.at<
double>(49, 102) = c[14];
  1517     M.at<
double>(49, 105) = c[15];
  1518     M.at<
double>(49, 109) = c[6];
  1519     M.at<
double>(49, 111) = c[12];
  1520     M.at<
double>(49, 112) = c[16];
  1521     M.at<
double>(50, 41) = a[16];
  1522     M.at<
double>(50, 62) = b[16];
  1523     M.at<
double>(50, 101) = c[14];
  1524     M.at<
double>(50, 105) = c[5];
  1525     M.at<
double>(50, 109) = c[12];
  1526     M.at<
double>(50, 111) = c[16];
  1527     M.at<
double>(51, 64) = b[18];
  1528     M.at<
double>(51, 70) = b[7];
  1529     M.at<
double>(51, 91) = c[7];
  1530     M.at<
double>(51, 103) = c[18];
  1531     M.at<
double>(52, 41) = a[6];
  1532     M.at<
double>(52, 45) = a[12];
  1533     M.at<
double>(52, 46) = a[5];
  1534     M.at<
double>(52, 62) = b[6];
  1535     M.at<
double>(52, 63) = b[12];
  1536     M.at<
double>(52, 66) = b[5];
  1537     M.at<
double>(52, 67) = b[14];
  1538     M.at<
double>(52, 69) = b[16];
  1539     M.at<
double>(52, 101) = c[15];
  1540     M.at<
double>(52, 102) = c[5];
  1541     M.at<
double>(52, 104) = c[14];
  1542     M.at<
double>(52, 109) = c[7];
  1543     M.at<
double>(52, 110) = c[16];
  1544     M.at<
double>(52, 111) = c[6];
  1545     M.at<
double>(52, 112) = c[12];
  1546     M.at<
double>(53, 64) = b[15];
  1547     M.at<
double>(53, 69) = b[7];
  1548     M.at<
double>(53, 103) = c[15];
  1549     M.at<
double>(53, 110) = c[7];
  1550     M.at<
double>(54, 105) = c[14];
  1551     M.at<
double>(54, 109) = c[16];
  1552     M.at<
double>(55, 44) = a[7];
  1553     M.at<
double>(55, 64) = b[17];
  1554     M.at<
double>(55, 67) = b[18];
  1555     M.at<
double>(55, 68) = b[7];
  1556     M.at<
double>(55, 70) = b[6];
  1557     M.at<
double>(55, 91) = c[6];
  1558     M.at<
double>(55, 97) = c[7];
  1559     M.at<
double>(55, 103) = c[17];
  1560     M.at<
double>(55, 104) = c[18];
  1561     M.at<
double>(56, 105) = c[8];
  1562     M.at<
double>(56, 108) = c[16];
  1563     M.at<
double>(57, 64) = b[6];
  1564     M.at<
double>(57, 67) = b[7];
  1565     M.at<
double>(57, 103) = c[6];
  1566     M.at<
double>(57, 104) = c[7];
  1567     M.at<
double>(58, 46) = a[7];
  1568     M.at<
double>(58, 64) = b[12];
  1569     M.at<
double>(58, 66) = b[7];
  1570     M.at<
double>(58, 67) = b[6];
  1571     M.at<
double>(58, 102) = c[7];
  1572     M.at<
double>(58, 103) = c[12];
  1573     M.at<
double>(58, 104) = c[6];
  1574     M.at<
double>(59, 8) = u[4];
  1575     M.at<
double>(59, 30) = a[16];
  1576     M.at<
double>(59, 41) = a[5];
  1577     M.at<
double>(59, 43) = a[12];
  1578     M.at<
double>(59, 45) = a[14];
  1579     M.at<
double>(59, 46) = a[10];
  1580     M.at<
double>(59, 51) = a[6];
  1581     M.at<
double>(59, 62) = b[5];
  1582     M.at<
double>(59, 63) = b[14];
  1583     M.at<
double>(59, 65) = b[6];
  1584     M.at<
double>(59, 66) = b[10];
  1585     M.at<
double>(59, 71) = b[12];
  1586     M.at<
double>(59, 75) = b[16];
  1587     M.at<
double>(59, 89) = c[6];
  1588     M.at<
double>(59, 100) = c[12];
  1589     M.at<
double>(59, 101) = c[11];
  1590     M.at<
double>(59, 102) = c[10];
  1591     M.at<
double>(59, 107) = c[16];
  1592     M.at<
double>(59, 109) = c[15];
  1593     M.at<
double>(59, 111) = c[5];
  1594     M.at<
double>(59, 112) = c[14];
  1595     M.at<
double>(60, 8) = u[3];
  1596     M.at<
double>(60, 30) = a[12];
  1597     M.at<
double>(60, 41) = a[15];
  1598     M.at<
double>(60, 43) = a[6];
  1599     M.at<
double>(60, 45) = a[5];
  1600     M.at<
double>(60, 46) = a[11];
  1601     M.at<
double>(60, 51) = a[7];
  1602     M.at<
double>(60, 62) = b[15];
  1603     M.at<
double>(60, 63) = b[5];
  1604     M.at<
double>(60, 65) = b[7];
  1605     M.at<
double>(60, 66) = b[11];
  1606     M.at<
double>(60, 67) = b[10];
  1607     M.at<
double>(60, 69) = b[14];
  1608     M.at<
double>(60, 71) = b[6];
  1609     M.at<
double>(60, 75) = b[12];
  1610     M.at<
double>(60, 89) = c[7];
  1611     M.at<
double>(60, 100) = c[6];
  1612     M.at<
double>(60, 102) = c[11];
  1613     M.at<
double>(60, 104) = c[10];
  1614     M.at<
double>(60, 107) = c[12];
  1615     M.at<
double>(60, 110) = c[14];
  1616     M.at<
double>(60, 111) = c[15];
  1617     M.at<
double>(60, 112) = c[5];
  1618     M.at<
double>(61, 42) = a[16];
  1619     M.at<
double>(61, 56) = b[16];
  1620     M.at<
double>(61, 101) = c[8];
  1621     M.at<
double>(61, 105) = c[17];
  1622     M.at<
double>(61, 106) = c[16];
  1623     M.at<
double>(61, 108) = c[12];
  1624     M.at<
double>(62, 64) = b[7];
  1625     M.at<
double>(62, 103) = c[7];
  1626     M.at<
double>(63, 105) = c[16];
  1627     M.at<
double>(64, 46) = a[12];
  1628     M.at<
double>(64, 66) = b[12];
  1629     M.at<
double>(64, 67) = b[16];
  1630     M.at<
double>(64, 101) = c[6];
  1631     M.at<
double>(64, 102) = c[12];
  1632     M.at<
double>(64, 104) = c[16];
  1633     M.at<
double>(64, 105) = c[7];
  1634     M.at<
double>(65, 46) = a[6];
  1635     M.at<
double>(65, 64) = b[16];
  1636     M.at<
double>(65, 66) = b[6];
  1637     M.at<
double>(65, 67) = b[12];
  1638     M.at<
double>(65, 101) = c[7];
  1639     M.at<
double>(65, 102) = c[6];
  1640     M.at<
double>(65, 103) = c[16];
  1641     M.at<
double>(65, 104) = c[12];
  1642     M.at<
double>(66, 46) = a[16];
  1643     M.at<
double>(66, 66) = b[16];
  1644     M.at<
double>(66, 101) = c[12];
  1645     M.at<
double>(66, 102) = c[16];
  1646     M.at<
double>(66, 105) = c[6];
  1647     M.at<
double>(67, 101) = c[16];
  1648     M.at<
double>(67, 105) = c[12];
  1649     M.at<
double>(68, 41) = a[14];
  1650     M.at<
double>(68, 43) = a[16];
  1651     M.at<
double>(68, 51) = a[12];
  1652     M.at<
double>(68, 62) = b[14];
  1653     M.at<
double>(68, 65) = b[12];
  1654     M.at<
double>(68, 71) = b[16];
  1655     M.at<
double>(68, 89) = c[12];
  1656     M.at<
double>(68, 100) = c[16];
  1657     M.at<
double>(68, 101) = c[10];
  1658     M.at<
double>(68, 105) = c[11];
  1659     M.at<
double>(68, 109) = c[5];
  1660     M.at<
double>(68, 111) = c[14];
  1661     M.at<
double>(69, 37) = a[2];
  1662     M.at<
double>(69, 48) = a[18];
  1663     M.at<
double>(69, 52) = a[20];
  1664     M.at<
double>(69, 73) = b[20];
  1665     M.at<
double>(69, 77) = b[2];
  1666     M.at<
double>(69, 81) = b[18];
  1667     M.at<
double>(69, 85) = c[18];
  1668     M.at<
double>(69, 93) = c[20];
  1669     M.at<
double>(69, 98) = c[2];
  1670     M.at<
double>(70, 20) = u[2];
  1671     M.at<
double>(70, 27) = a[9];
  1672     M.at<
double>(70, 28) = a[13];
  1673     M.at<
double>(70, 31) = a[10];
  1674     M.at<
double>(70, 32) = a[4];
  1675     M.at<
double>(70, 33) = a[19];
  1676     M.at<
double>(70, 50) = a[14];
  1677     M.at<
double>(70, 51) = a[20];
  1678     M.at<
double>(70, 53) = a[8];
  1679     M.at<
double>(70, 55) = b[9];
  1680     M.at<
double>(70, 57) = b[13];
  1681     M.at<
double>(70, 58) = b[10];
  1682     M.at<
double>(70, 59) = b[19];
  1683     M.at<
double>(70, 61) = b[4];
  1684     M.at<
double>(70, 65) = b[20];
  1685     M.at<
double>(70, 80) = b[14];
  1686     M.at<
double>(70, 82) = b[8];
  1687     M.at<
double>(70, 86) = c[14];
  1688     M.at<
double>(70, 87) = c[8];
  1689     M.at<
double>(70, 89) = c[20];
  1690     M.at<
double>(70, 113) = c[9];
  1691     M.at<
double>(70, 114) = c[13];
  1692     M.at<
double>(70, 115) = c[10];
  1693     M.at<
double>(70, 116) = c[4];
  1694     M.at<
double>(70, 117) = c[19];
  1695     M.at<
double>(71, 45) = a[7];
  1696     M.at<
double>(71, 63) = b[7];
  1697     M.at<
double>(71, 64) = b[5];
  1698     M.at<
double>(71, 67) = b[15];
  1699     M.at<
double>(71, 69) = b[6];
  1700     M.at<
double>(71, 103) = c[5];
  1701     M.at<
double>(71, 104) = c[15];
  1702     M.at<
double>(71, 110) = c[6];
  1703     M.at<
double>(71, 112) = c[7];
  1704     M.at<
double>(72, 41) = a[7];
  1705     M.at<
double>(72, 45) = a[6];
  1706     M.at<
double>(72, 46) = a[15];
  1707     M.at<
double>(72, 62) = b[7];
  1708     M.at<
double>(72, 63) = b[6];
  1709     M.at<
double>(72, 64) = b[14];
  1710     M.at<
double>(72, 66) = b[15];
  1711     M.at<
double>(72, 67) = b[5];
  1712     M.at<
double>(72, 69) = b[12];
  1713     M.at<
double>(72, 102) = c[15];
  1714     M.at<
double>(72, 103) = c[14];
  1715     M.at<
double>(72, 104) = c[5];
  1716     M.at<
double>(72, 110) = c[12];
  1717     M.at<
double>(72, 111) = c[7];
  1718     M.at<
double>(72, 112) = c[6];
  1719     M.at<
double>(73, 48) = a[13];
  1720     M.at<
double>(73, 50) = a[20];
  1721     M.at<
double>(73, 80) = b[20];
  1722     M.at<
double>(73, 81) = b[13];
  1723     M.at<
double>(73, 85) = c[13];
  1724     M.at<
double>(73, 86) = c[20];
  1725     M.at<
double>(74, 25) = u[3];
  1726     M.at<
double>(74, 29) = a[17];
  1727     M.at<
double>(74, 32) = a[7];
  1728     M.at<
double>(74, 38) = a[6];
  1729     M.at<
double>(74, 40) = a[15];
  1730     M.at<
double>(74, 44) = a[3];
  1731     M.at<
double>(74, 45) = a[2];
  1732     M.at<
double>(74, 47) = a[18];
  1733     M.at<
double>(74, 52) = a[5];
  1734     M.at<
double>(74, 60) = b[18];
  1735     M.at<
double>(74, 61) = b[7];
  1736     M.at<
double>(74, 63) = b[2];
  1737     M.at<
double>(74, 67) = b[13];
  1738     M.at<
double>(74, 68) = b[3];
  1739     M.at<
double>(74, 69) = b[19];
  1740     M.at<
double>(74, 70) = b[4];
  1741     M.at<
double>(74, 72) = b[15];
  1742     M.at<
double>(74, 73) = b[5];
  1743     M.at<
double>(74, 74) = b[17];
  1744     M.at<
double>(74, 78) = b[6];
  1745     M.at<
double>(74, 90) = c[18];
  1746     M.at<
double>(74, 91) = c[4];
  1747     M.at<
double>(74, 92) = c[6];
  1748     M.at<
double>(74, 93) = c[5];
  1749     M.at<
double>(74, 94) = c[17];
  1750     M.at<
double>(74, 95) = c[15];
  1751     M.at<
double>(74, 97) = c[3];
  1752     M.at<
double>(74, 104) = c[13];
  1753     M.at<
double>(74, 110) = c[19];
  1754     M.at<
double>(74, 112) = c[2];
  1755     M.at<
double>(74, 116) = c[7];
  1756     M.at<
double>(75, 21) = u[2];
  1757     M.at<
double>(75, 36) = a[2];
  1758     M.at<
double>(75, 37) = a[1];
  1759     M.at<
double>(75, 38) = a[9];
  1760     M.at<
double>(75, 39) = a[13];
  1761     M.at<
double>(75, 49) = a[20];
  1762     M.at<
double>(75, 50) = a[11];
  1763     M.at<
double>(75, 53) = a[3];
  1764     M.at<
double>(75, 76) = b[20];
  1765     M.at<
double>(75, 77) = b[1];
  1766     M.at<
double>(75, 78) = b[9];
  1767     M.at<
double>(75, 79) = b[13];
  1768     M.at<
double>(75, 80) = b[11];
  1769     M.at<
double>(75, 82) = b[3];
  1770     M.at<
double>(75, 84) = b[2];
  1771     M.at<
double>(75, 86) = c[11];
  1772     M.at<
double>(75, 87) = c[3];
  1773     M.at<
double>(75, 88) = c[2];
  1774     M.at<
double>(75, 92) = c[9];
  1775     M.at<
double>(75, 96) = c[13];
  1776     M.at<
double>(75, 98) = c[1];
  1777     M.at<
double>(75, 119) = c[20];
  1778     M.at<
double>(76, 48) = a[20];
  1779     M.at<
double>(76, 81) = b[20];
  1780     M.at<
double>(76, 85) = c[20];
  1781     M.at<
double>(77, 34) = a[16];
  1782     M.at<
double>(77, 51) = a[14];
  1783     M.at<
double>(77, 54) = b[16];
  1784     M.at<
double>(77, 65) = b[14];
  1785     M.at<
double>(77, 89) = c[14];
  1786     M.at<
double>(77, 99) = c[16];
  1787     M.at<
double>(77, 105) = c[1];
  1788     M.at<
double>(77, 109) = c[10];
  1789     M.at<
double>(78, 27) = a[17];
  1790     M.at<
double>(78, 31) = a[12];
  1791     M.at<
double>(78, 37) = a[16];
  1792     M.at<
double>(78, 40) = a[8];
  1793     M.at<
double>(78, 42) = a[19];
  1794     M.at<
double>(78, 55) = b[17];
  1795     M.at<
double>(78, 56) = b[19];
  1796     M.at<
double>(78, 58) = b[12];
  1797     M.at<
double>(78, 72) = b[8];
  1798     M.at<
double>(78, 77) = b[16];
  1799     M.at<
double>(78, 95) = c[8];
  1800     M.at<
double>(78, 98) = c[16];
  1801     M.at<
double>(78, 101) = c[20];
  1802     M.at<
double>(78, 106) = c[19];
  1803     M.at<
double>(78, 108) = c[2];
  1804     M.at<
double>(78, 113) = c[17];
  1805     M.at<
double>(78, 115) = c[12];
  1806     M.at<
double>(79, 42) = a[12];
  1807     M.at<
double>(79, 44) = a[16];
  1808     M.at<
double>(79, 46) = a[8];
  1809     M.at<
double>(79, 56) = b[12];
  1810     M.at<
double>(79, 66) = b[8];
  1811     M.at<
double>(79, 68) = b[16];
  1812     M.at<
double>(79, 97) = c[16];
  1813     M.at<
double>(79, 101) = c[17];
  1814     M.at<
double>(79, 102) = c[8];
  1815     M.at<
double>(79, 105) = c[18];
  1816     M.at<
double>(79, 106) = c[12];
  1817     M.at<
double>(79, 108) = c[6];
  1818     M.at<
double>(80, 14) = u[4];
  1819     M.at<
double>(80, 28) = a[5];
  1820     M.at<
double>(80, 33) = a[12];
  1821     M.at<
double>(80, 39) = a[16];
  1822     M.at<
double>(80, 41) = a[4];
  1823     M.at<
double>(80, 42) = a[10];
  1824     M.at<
double>(80, 43) = a[8];
  1825     M.at<
double>(80, 47) = a[14];
  1826     M.at<
double>(80, 51) = a[17];
  1827     M.at<
double>(80, 56) = b[10];
  1828     M.at<
double>(80, 57) = b[5];
  1829     M.at<
double>(80, 59) = b[12];
  1830     M.at<
double>(80, 60) = b[14];
  1831     M.at<
double>(80, 62) = b[4];
  1832     M.at<
double>(80, 65) = b[17];
  1833     M.at<
double>(80, 71) = b[8];
  1834     M.at<
double>(80, 79) = b[16];
  1835     M.at<
double>(80, 89) = c[17];
  1836     M.at<
double>(80, 90) = c[14];
  1837     M.at<
double>(80, 96) = c[16];
  1838     M.at<
double>(80, 100) = c[8];
  1839     M.at<
double>(80, 101) = c[9];
  1840     M.at<
double>(80, 106) = c[10];
  1841     M.at<
double>(80, 108) = c[11];
  1842     M.at<
double>(80, 109) = c[3];
  1843     M.at<
double>(80, 111) = c[4];
  1844     M.at<
double>(80, 114) = c[5];
  1845     M.at<
double>(80, 117) = c[12];
  1846     M.at<
double>(81, 31) = a[3];
  1847     M.at<
double>(81, 32) = a[2];
  1848     M.at<
double>(81, 37) = a[4];
  1849     M.at<
double>(81, 38) = a[19];
  1850     M.at<
double>(81, 40) = a[13];
  1851     M.at<
double>(81, 47) = a[20];
  1852     M.at<
double>(81, 48) = a[5];
  1853     M.at<
double>(81, 50) = a[17];
  1854     M.at<
double>(81, 58) = b[3];
  1855     M.at<
double>(81, 60) = b[20];
  1856     M.at<
double>(81, 61) = b[2];
  1857     M.at<
double>(81, 72) = b[13];
  1858     M.at<
double>(81, 77) = b[4];
  1859     M.at<
double>(81, 78) = b[19];
  1860     M.at<
double>(81, 80) = b[17];
  1861     M.at<
double>(81, 81) = b[5];
  1862     M.at<
double>(81, 85) = c[5];
  1863     M.at<
double>(81, 86) = c[17];
  1864     M.at<
double>(81, 90) = c[20];
  1865     M.at<
double>(81, 92) = c[19];
  1866     M.at<
double>(81, 95) = c[13];
  1867     M.at<
double>(81, 98) = c[4];
  1868     M.at<
double>(81, 115) = c[3];
  1869     M.at<
double>(81, 116) = c[2];
  1870     M.at<
double>(82, 29) = a[6];
  1871     M.at<
double>(82, 44) = a[15];
  1872     M.at<
double>(82, 45) = a[18];
  1873     M.at<
double>(82, 47) = a[7];
  1874     M.at<
double>(82, 60) = b[7];
  1875     M.at<
double>(82, 63) = b[18];
  1876     M.at<
double>(82, 64) = b[4];
  1877     M.at<
double>(82, 67) = b[3];
  1878     M.at<
double>(82, 68) = b[15];
  1879     M.at<
double>(82, 69) = b[17];
  1880     M.at<
double>(82, 70) = b[5];
  1881     M.at<
double>(82, 74) = b[6];
  1882     M.at<
double>(82, 90) = c[7];
  1883     M.at<
double>(82, 91) = c[5];
  1884     M.at<
double>(82, 94) = c[6];
  1885     M.at<
double>(82, 97) = c[15];
  1886     M.at<
double>(82, 103) = c[4];
  1887     M.at<
double>(82, 104) = c[3];
  1888     M.at<
double>(82, 110) = c[17];
  1889     M.at<
double>(82, 112) = c[18];
  1890     M.at<
double>(83, 26) = u[2];
  1891     M.at<
double>(83, 27) = a[18];
  1892     M.at<
double>(83, 31) = a[6];
  1893     M.at<
double>(83, 37) = a[12];
  1894     M.at<
double>(83, 40) = a[17];
  1895     M.at<
double>(83, 42) = a[2];
  1896     M.at<
double>(83, 44) = a[19];
  1897     M.at<
double>(83, 46) = a[20];
  1898     M.at<
double>(83, 52) = a[8];
  1899     M.at<
double>(83, 55) = b[18];
  1900     M.at<
double>(83, 56) = b[2];
  1901     M.at<
double>(83, 58) = b[6];
  1902     M.at<
double>(83, 66) = b[20];
  1903     M.at<
double>(83, 68) = b[19];
  1904     M.at<
double>(83, 72) = b[17];
  1905     M.at<
double>(83, 73) = b[8];
  1906     M.at<
double>(83, 77) = b[12];
  1907     M.at<
double>(83, 93) = c[8];
  1908     M.at<
double>(83, 95) = c[17];
  1909     M.at<
double>(83, 97) = c[19];
  1910     M.at<
double>(83, 98) = c[12];
  1911     M.at<
double>(83, 102) = c[20];
  1912     M.at<
double>(83, 106) = c[2];
  1913     M.at<
double>(83, 113) = c[18];
  1914     M.at<
double>(83, 115) = c[6];
  1915     M.at<
double>(84, 16) = u[3];
  1916     M.at<
double>(84, 29) = a[5];
  1917     M.at<
double>(84, 30) = a[17];
  1918     M.at<
double>(84, 33) = a[7];
  1919     M.at<
double>(84, 39) = a[6];
  1920     M.at<
double>(84, 43) = a[18];
  1921     M.at<
double>(84, 44) = a[11];
  1922     M.at<
double>(84, 45) = a[3];
  1923     M.at<
double>(84, 47) = a[15];
  1924     M.at<
double>(84, 59) = b[7];
  1925     M.at<
double>(84, 60) = b[15];
  1926     M.at<
double>(84, 63) = b[3];
  1927     M.at<
double>(84, 67) = b[9];
  1928     M.at<
double>(84, 68) = b[11];
  1929     M.at<
double>(84, 69) = b[4];
  1930     M.at<
double>(84, 70) = b[10];
  1931     M.at<
double>(84, 71) = b[18];
  1932     M.at<
double>(84, 74) = b[5];
  1933     M.at<
double>(84, 75) = b[17];
  1934     M.at<
double>(84, 79) = b[6];
  1935     M.at<
double>(84, 90) = c[15];
  1936     M.at<
double>(84, 91) = c[10];
  1937     M.at<
double>(84, 94) = c[5];
  1938     M.at<
double>(84, 96) = c[6];
  1939     M.at<
double>(84, 97) = c[11];
  1940     M.at<
double>(84, 100) = c[18];
  1941     M.at<
double>(84, 104) = c[9];
  1942     M.at<
double>(84, 107) = c[17];
  1943     M.at<
double>(84, 110) = c[4];
  1944     M.at<
double>(84, 112) = c[3];
  1945     M.at<
double>(84, 117) = c[7];
  1946     M.at<
double>(85, 25) = u[2];
  1947     M.at<
double>(85, 29) = a[19];
  1948     M.at<
double>(85, 31) = a[15];
  1949     M.at<
double>(85, 32) = a[18];
  1950     M.at<
double>(85, 37) = a[5];
  1951     M.at<
double>(85, 38) = a[17];
  1952     M.at<
double>(85, 40) = a[3];
  1953     M.at<
double>(85, 44) = a[13];
  1954     M.at<
double>(85, 45) = a[20];
  1955     M.at<
double>(85, 47) = a[2];
  1956     M.at<
double>(85, 50) = a[6];
  1957     M.at<
double>(85, 52) = a[4];
  1958     M.at<
double>(85, 58) = b[15];
  1959     M.at<
double>(85, 60) = b[2];
  1960     M.at<
double>(85, 61) = b[18];
  1961     M.at<
double>(85, 63) = b[20];
  1962     M.at<
double>(85, 68) = b[13];
  1963     M.at<
double>(85, 72) = b[3];
  1964     M.at<
double>(85, 73) = b[4];
  1965     M.at<
double>(85, 74) = b[19];
  1966     M.at<
double>(85, 77) = b[5];
  1967     M.at<
double>(85, 78) = b[17];
  1968     M.at<
double>(85, 80) = b[6];
  1969     M.at<
double>(85, 86) = c[6];
  1970     M.at<
double>(85, 90) = c[2];
  1971     M.at<
double>(85, 92) = c[17];
  1972     M.at<
double>(85, 93) = c[4];
  1973     M.at<
double>(85, 94) = c[19];
  1974     M.at<
double>(85, 95) = c[3];
  1975     M.at<
double>(85, 97) = c[13];
  1976     M.at<
double>(85, 98) = c[5];
  1977     M.at<
double>(85, 112) = c[20];
  1978     M.at<
double>(85, 115) = c[15];
  1979     M.at<
double>(85, 116) = c[18];
  1980     M.at<
double>(86, 31) = a[18];
  1981     M.at<
double>(86, 37) = a[17];
  1982     M.at<
double>(86, 40) = a[2];
  1983     M.at<
double>(86, 44) = a[20];
  1984     M.at<
double>(86, 48) = a[6];
  1985     M.at<
double>(86, 52) = a[19];
  1986     M.at<
double>(86, 58) = b[18];
  1987     M.at<
double>(86, 68) = b[20];
  1988     M.at<
double>(86, 72) = b[2];
  1989     M.at<
double>(86, 73) = b[19];
  1990     M.at<
double>(86, 77) = b[17];
  1991     M.at<
double>(86, 81) = b[6];
  1992     M.at<
double>(86, 85) = c[6];
  1993     M.at<
double>(86, 93) = c[19];
  1994     M.at<
double>(86, 95) = c[2];
  1995     M.at<
double>(86, 97) = c[20];
  1996     M.at<
double>(86, 98) = c[17];
  1997     M.at<
double>(86, 115) = c[18];
  1998     M.at<
double>(87, 22) = u[2];
  1999     M.at<
double>(87, 31) = a[11];
  2000     M.at<
double>(87, 32) = a[3];
  2001     M.at<
double>(87, 33) = a[2];
  2002     M.at<
double>(87, 37) = a[10];
  2003     M.at<
double>(87, 38) = a[4];
  2004     M.at<
double>(87, 39) = a[19];
  2005     M.at<
double>(87, 40) = a[9];
  2006     M.at<
double>(87, 43) = a[20];
  2007     M.at<
double>(87, 47) = a[13];
  2008     M.at<
double>(87, 50) = a[5];
  2009     M.at<
double>(87, 53) = a[17];
  2010     M.at<
double>(87, 58) = b[11];
  2011     M.at<
double>(87, 59) = b[2];
  2012     M.at<
double>(87, 60) = b[13];
  2013     M.at<
double>(87, 61) = b[3];
  2014     M.at<
double>(87, 71) = b[20];
  2015     M.at<
double>(87, 72) = b[9];
  2016     M.at<
double>(87, 77) = b[10];
  2017     M.at<
double>(87, 78) = b[4];
  2018     M.at<
double>(87, 79) = b[19];
  2019     M.at<
double>(87, 80) = b[5];
  2020     M.at<
double>(87, 82) = b[17];
  2021     M.at<
double>(87, 86) = c[5];
  2022     M.at<
double>(87, 87) = c[17];
  2023     M.at<
double>(87, 90) = c[13];
  2024     M.at<
double>(87, 92) = c[4];
  2025     M.at<
double>(87, 95) = c[9];
  2026     M.at<
double>(87, 96) = c[19];
  2027     M.at<
double>(87, 98) = c[10];
  2028     M.at<
double>(87, 100) = c[20];
  2029     M.at<
double>(87, 115) = c[11];
  2030     M.at<
double>(87, 116) = c[3];
  2031     M.at<
double>(87, 117) = c[2];
  2032     M.at<
double>(88, 27) = a[2];
  2033     M.at<
double>(88, 31) = a[17];
  2034     M.at<
double>(88, 37) = a[8];
  2035     M.at<
double>(88, 40) = a[19];
  2036     M.at<
double>(88, 42) = a[20];
  2037     M.at<
double>(88, 48) = a[12];
  2038     M.at<
double>(88, 55) = b[2];
  2039     M.at<
double>(88, 56) = b[20];
  2040     M.at<
double>(88, 58) = b[17];
  2041     M.at<
double>(88, 72) = b[19];
  2042     M.at<
double>(88, 77) = b[8];
  2043     M.at<
double>(88, 81) = b[12];
  2044     M.at<
double>(88, 85) = c[12];
  2045     M.at<
double>(88, 95) = c[19];
  2046     M.at<
double>(88, 98) = c[8];
  2047     M.at<
double>(88, 106) = c[20];
  2048     M.at<
double>(88, 113) = c[2];
  2049     M.at<
double>(88, 115) = c[17];
  2050     M.at<
double>(89, 31) = a[7];
  2051     M.at<
double>(89, 37) = a[6];
  2052     M.at<
double>(89, 40) = a[18];
  2053     M.at<
double>(89, 44) = a[2];
  2054     M.at<
double>(89, 52) = a[17];
  2055     M.at<
double>(89, 58) = b[7];
  2056     M.at<
double>(89, 67) = b[20];
  2057     M.at<
double>(89, 68) = b[2];
  2058     M.at<
double>(89, 70) = b[19];
  2059     M.at<
double>(89, 72) = b[18];
  2060     M.at<
double>(89, 73) = b[17];
  2061     M.at<
double>(89, 77) = b[6];
  2062     M.at<
double>(89, 91) = c[19];
  2063     M.at<
double>(89, 93) = c[17];
  2064     M.at<
double>(89, 95) = c[18];
  2065     M.at<
double>(89, 97) = c[2];
  2066     M.at<
double>(89, 98) = c[6];
  2067     M.at<
double>(89, 104) = c[20];
  2068     M.at<
double>(89, 115) = c[7];
  2069     M.at<
double>(90, 27) = a[12];
  2070     M.at<
double>(90, 40) = a[16];
  2071     M.at<
double>(90, 42) = a[8];
  2072     M.at<
double>(90, 55) = b[12];
  2073     M.at<
double>(90, 56) = b[8];
  2074     M.at<
double>(90, 72) = b[16];
  2075     M.at<
double>(90, 95) = c[16];
  2076     M.at<
double>(90, 101) = c[19];
  2077     M.at<
double>(90, 105) = c[2];
  2078     M.at<
double>(90, 106) = c[8];
  2079     M.at<
double>(90, 108) = c[17];
  2080     M.at<
double>(90, 113) = c[12];
  2081     M.at<
double>(91, 23) = u[2];
  2082     M.at<
double>(91, 27) = a[3];
  2083     M.at<
double>(91, 28) = a[2];
  2084     M.at<
double>(91, 31) = a[5];
  2085     M.at<
double>(91, 32) = a[17];
  2086     M.at<
double>(91, 37) = a[14];
  2087     M.at<
double>(91, 38) = a[8];
  2088     M.at<
double>(91, 40) = a[4];
  2089     M.at<
double>(91, 41) = a[20];
  2090     M.at<
double>(91, 42) = a[13];
  2091     M.at<
double>(91, 47) = a[19];
  2092     M.at<
double>(91, 50) = a[12];
  2093     M.at<
double>(91, 55) = b[3];
  2094     M.at<
double>(91, 56) = b[13];
  2095     M.at<
double>(91, 57) = b[2];
  2096     M.at<
double>(91, 58) = b[5];
  2097     M.at<
double>(91, 60) = b[19];
  2098     M.at<
double>(91, 61) = b[17];
  2099     M.at<
double>(91, 62) = b[20];
  2100     M.at<
double>(91, 72) = b[4];
  2101     M.at<
double>(91, 77) = b[14];
  2102     M.at<
double>(91, 78) = b[8];
  2103     M.at<
double>(91, 80) = b[12];
  2104     M.at<
double>(91, 86) = c[12];
  2105     M.at<
double>(91, 90) = c[19];
  2106     M.at<
double>(91, 92) = c[8];
  2107     M.at<
double>(91, 95) = c[4];
  2108     M.at<
double>(91, 98) = c[14];
  2109     M.at<
double>(91, 106) = c[13];
  2110     M.at<
double>(91, 111) = c[20];
  2111     M.at<
double>(91, 113) = c[3];
  2112     M.at<
double>(91, 114) = c[2];
  2113     M.at<
double>(91, 115) = c[5];
  2114     M.at<
double>(91, 116) = c[17];
  2115     M.at<
double>(92, 17) = u[4];
  2116     M.at<
double>(92, 28) = a[6];
  2117     M.at<
double>(92, 29) = a[16];
  2118     M.at<
double>(92, 41) = a[17];
  2119     M.at<
double>(92, 42) = a[5];
  2120     M.at<
double>(92, 44) = a[14];
  2121     M.at<
double>(92, 45) = a[8];
  2122     M.at<
double>(92, 46) = a[4];
  2123     M.at<
double>(92, 47) = a[12];
  2124     M.at<
double>(92, 56) = b[5];
  2125     M.at<
double>(92, 57) = b[6];
  2126     M.at<
double>(92, 60) = b[12];
  2127     M.at<
double>(92, 62) = b[17];
  2128     M.at<
double>(92, 63) = b[8];
  2129     M.at<
double>(92, 66) = b[4];
  2130     M.at<
double>(92, 68) = b[14];
  2131     M.at<
double>(92, 74) = b[16];
  2132     M.at<
double>(92, 90) = c[12];
  2133     M.at<
double>(92, 94) = c[16];
  2134     M.at<
double>(92, 97) = c[14];
  2135     M.at<
double>(92, 101) = c[3];
  2136     M.at<
double>(92, 102) = c[4];
  2137     M.at<
double>(92, 106) = c[5];
  2138     M.at<
double>(92, 108) = c[15];
  2139     M.at<
double>(92, 109) = c[18];
  2140     M.at<
double>(92, 111) = c[17];
  2141     M.at<
double>(92, 112) = c[8];
  2142     M.at<
double>(92, 114) = c[6];
  2143     M.at<
double>(93, 17) = u[3];
  2144     M.at<
double>(93, 28) = a[7];
  2145     M.at<
double>(93, 29) = a[12];
  2146     M.at<
double>(93, 41) = a[18];
  2147     M.at<
double>(93, 42) = a[15];
  2148     M.at<
double>(93, 44) = a[5];
  2149     M.at<
double>(93, 45) = a[17];
  2150     M.at<
double>(93, 46) = a[3];
  2151     M.at<
double>(93, 47) = a[6];
  2152     M.at<
double>(93, 56) = b[15];
  2153     M.at<
double>(93, 57) = b[7];
  2154     M.at<
double>(93, 60) = b[6];
  2155     M.at<
double>(93, 62) = b[18];
  2156     M.at<
double>(93, 63) = b[17];
  2157     M.at<
double>(93, 66) = b[3];
  2158     M.at<
double>(93, 67) = b[4];
  2159     M.at<
double>(93, 68) = b[5];
  2160     M.at<
double>(93, 69) = b[8];
  2161     M.at<
double>(93, 70) = b[14];
  2162     M.at<
double>(93, 74) = b[12];
  2163     M.at<
double>(93, 90) = c[6];
  2164     M.at<
double>(93, 91) = c[14];
  2165     M.at<
double>(93, 94) = c[12];
  2166     M.at<
double>(93, 97) = c[5];
  2167     M.at<
double>(93, 102) = c[3];
  2168     M.at<
double>(93, 104) = c[4];
  2169     M.at<
double>(93, 106) = c[15];
  2170     M.at<
double>(93, 110) = c[8];
  2171     M.at<
double>(93, 111) = c[18];
  2172     M.at<
double>(93, 112) = c[17];
  2173     M.at<
double>(93, 114) = c[7];
  2174     M.at<
double>(94, 31) = a[2];
  2175     M.at<
double>(94, 37) = a[19];
  2176     M.at<
double>(94, 40) = a[20];
  2177     M.at<
double>(94, 48) = a[17];
  2178     M.at<
double>(94, 58) = b[2];
  2179     M.at<
double>(94, 72) = b[20];
  2180     M.at<
double>(94, 77) = b[19];
  2181     M.at<
double>(94, 81) = b[17];
  2182     M.at<
double>(94, 85) = c[17];
  2183     M.at<
double>(94, 95) = c[20];
  2184     M.at<
double>(94, 98) = c[19];
  2185     M.at<
double>(94, 115) = c[2];
  2186     M.at<
double>(95, 26) = u[4];
  2187     M.at<
double>(95, 27) = a[6];
  2188     M.at<
double>(95, 40) = a[12];
  2189     M.at<
double>(95, 42) = a[17];
  2190     M.at<
double>(95, 44) = a[8];
  2191     M.at<
double>(95, 46) = a[19];
  2192     M.at<
double>(95, 52) = a[16];
  2193     M.at<
double>(95, 55) = b[6];
  2194     M.at<
double>(95, 56) = b[17];
  2195     M.at<
double>(95, 66) = b[19];
  2196     M.at<
double>(95, 68) = b[8];
  2197     M.at<
double>(95, 72) = b[12];
  2198     M.at<
double>(95, 73) = b[16];
  2199     M.at<
double>(95, 93) = c[16];
  2200     M.at<
double>(95, 95) = c[12];
  2201     M.at<
double>(95, 97) = c[8];
  2202     M.at<
double>(95, 101) = c[2];
  2203     M.at<
double>(95, 102) = c[19];
  2204     M.at<
double>(95, 106) = c[17];
  2205     M.at<
double>(95, 108) = c[18];
  2206     M.at<
double>(95, 113) = c[6];
  2207     M.at<
double>(96, 23) = u[4];
  2208     M.at<
double>(96, 27) = a[5];
  2209     M.at<
double>(96, 28) = a[17];
  2210     M.at<
double>(96, 32) = a[12];
  2211     M.at<
double>(96, 38) = a[16];
  2212     M.at<
double>(96, 40) = a[14];
  2213     M.at<
double>(96, 41) = a[19];
  2214     M.at<
double>(96, 42) = a[4];
  2215     M.at<
double>(96, 47) = a[8];
  2216     M.at<
double>(96, 55) = b[5];
  2217     M.at<
double>(96, 56) = b[4];
  2218     M.at<
double>(96, 57) = b[17];
  2219     M.at<
double>(96, 60) = b[8];
  2220     M.at<
double>(96, 61) = b[12];
  2221     M.at<
double>(96, 62) = b[19];
  2222     M.at<
double>(96, 72) = b[14];
  2223     M.at<
double>(96, 78) = b[16];
  2224     M.at<
double>(96, 90) = c[8];
  2225     M.at<
double>(96, 92) = c[16];
  2226     M.at<
double>(96, 95) = c[14];
  2227     M.at<
double>(96, 101) = c[13];
  2228     M.at<
double>(96, 106) = c[4];
  2229     M.at<
double>(96, 108) = c[3];
  2230     M.at<
double>(96, 109) = c[2];
  2231     M.at<
double>(96, 111) = c[19];
  2232     M.at<
double>(96, 113) = c[5];
  2233     M.at<
double>(96, 114) = c[17];
  2234     M.at<
double>(96, 116) = c[12];
  2235     M.at<
double>(97, 42) = a[6];
  2236     M.at<
double>(97, 44) = a[12];
  2237     M.at<
double>(97, 46) = a[17];
  2238     M.at<
double>(97, 56) = b[6];
  2239     M.at<
double>(97, 66) = b[17];
  2240     M.at<
double>(97, 67) = b[8];
  2241     M.at<
double>(97, 68) = b[12];
  2242     M.at<
double>(97, 70) = b[16];
  2243     M.at<
double>(97, 91) = c[16];
  2244     M.at<
double>(97, 97) = c[12];
  2245     M.at<
double>(97, 101) = c[18];
  2246     M.at<
double>(97, 102) = c[17];
  2247     M.at<
double>(97, 104) = c[8];
  2248     M.at<
double>(97, 106) = c[6];
  2249     M.at<
double>(97, 108) = c[7];
  2250     M.at<
double>(98, 28) = a[12];
  2251     M.at<
double>(98, 41) = a[8];
  2252     M.at<
double>(98, 42) = a[14];
  2253     M.at<
double>(98, 47) = a[16];
  2254     M.at<
double>(98, 56) = b[14];
  2255     M.at<
double>(98, 57) = b[12];
  2256     M.at<
double>(98, 60) = b[16];
  2257     M.at<
double>(98, 62) = b[8];
  2258     M.at<
double>(98, 90) = c[16];
  2259     M.at<
double>(98, 101) = c[4];
  2260     M.at<
double>(98, 105) = c[3];
  2261     M.at<
double>(98, 106) = c[14];
  2262     M.at<
double>(98, 108) = c[5];
  2263     M.at<
double>(98, 109) = c[17];
  2264     M.at<
double>(98, 111) = c[8];
  2265     M.at<
double>(98, 114) = c[12];
  2266     M.at<
double>(99, 42) = a[7];
  2267     M.at<
double>(99, 44) = a[6];
  2268     M.at<
double>(99, 46) = a[18];
  2269     M.at<
double>(99, 56) = b[7];
  2270     M.at<
double>(99, 64) = b[8];
  2271     M.at<
double>(99, 66) = b[18];
  2272     M.at<
double>(99, 67) = b[17];
  2273     M.at<
double>(99, 68) = b[6];
  2274     M.at<
double>(99, 70) = b[12];
  2275     M.at<
double>(99, 91) = c[12];
  2276     M.at<
double>(99, 97) = c[6];
  2277     M.at<
double>(99, 102) = c[18];
  2278     M.at<
double>(99, 103) = c[8];
  2279     M.at<
double>(99, 104) = c[17];
  2280     M.at<
double>(99, 106) = c[7];
  2281     M.at<
double>(100, 51) = a[16];
  2282     M.at<
double>(100, 65) = b[16];
  2283     M.at<
double>(100, 89) = c[16];
  2284     M.at<
double>(100, 105) = c[10];
  2285     M.at<
double>(100, 109) = c[14];
  2286     M.at<
double>(101, 37) = a[9];
  2287     M.at<
double>(101, 38) = a[13];
  2288     M.at<
double>(101, 39) = a[20];
  2289     M.at<
double>(101, 48) = a[11];
  2290     M.at<
double>(101, 50) = a[3];
  2291     M.at<
double>(101, 53) = a[2];
  2292     M.at<
double>(101, 77) = b[9];
  2293     M.at<
double>(101, 78) = b[13];
  2294     M.at<
double>(101, 79) = b[20];
  2295     M.at<
double>(101, 80) = b[3];
  2296     M.at<
double>(101, 81) = b[11];
  2297     M.at<
double>(101, 82) = b[2];
  2298     M.at<
double>(101, 85) = c[11];
  2299     M.at<
double>(101, 86) = c[3];
  2300     M.at<
double>(101, 87) = c[2];
  2301     M.at<
double>(101, 92) = c[13];
  2302     M.at<
double>(101, 96) = c[20];
  2303     M.at<
double>(101, 98) = c[9];
  2304     M.at<
double>(102, 37) = a[13];
  2305     M.at<
double>(102, 38) = a[20];
  2306     M.at<
double>(102, 48) = a[3];
  2307     M.at<
double>(102, 50) = a[2];
  2308     M.at<
double>(102, 77) = b[13];
  2309     M.at<
double>(102, 78) = b[20];
  2310     M.at<
double>(102, 80) = b[2];
  2311     M.at<
double>(102, 81) = b[3];
  2312     M.at<
double>(102, 85) = c[3];
  2313     M.at<
double>(102, 86) = c[2];
  2314     M.at<
double>(102, 92) = c[20];
  2315     M.at<
double>(102, 98) = c[13];
  2316     M.at<
double>(103, 37) = a[20];
  2317     M.at<
double>(103, 48) = a[2];
  2318     M.at<
double>(103, 77) = b[20];
  2319     M.at<
double>(103, 81) = b[2];
  2320     M.at<
double>(103, 85) = c[2];
  2321     M.at<
double>(103, 98) = c[20];
  2322     M.at<
double>(104, 11) = u[4];
  2323     M.at<
double>(104, 28) = a[10];
  2324     M.at<
double>(104, 33) = a[14];
  2325     M.at<
double>(104, 34) = a[8];
  2326     M.at<
double>(104, 36) = a[16];
  2327     M.at<
double>(104, 51) = a[4];
  2328     M.at<
double>(104, 54) = b[8];
  2329     M.at<
double>(104, 57) = b[10];
  2330     M.at<
double>(104, 59) = b[14];
  2331     M.at<
double>(104, 65) = b[4];
  2332     M.at<
double>(104, 84) = b[16];
  2333     M.at<
double>(104, 88) = c[16];
  2334     M.at<
double>(104, 89) = c[4];
  2335     M.at<
double>(104, 99) = c[8];
  2336     M.at<
double>(104, 108) = c[1];
  2337     M.at<
double>(104, 109) = c[9];
  2338     M.at<
double>(104, 114) = c[10];
  2339     M.at<
double>(104, 117) = c[14];
  2340     M.at<
double>(105, 20) = u[4];
  2341     M.at<
double>(105, 27) = a[10];
  2342     M.at<
double>(105, 28) = a[4];
  2343     M.at<
double>(105, 32) = a[14];
  2344     M.at<
double>(105, 33) = a[8];
  2345     M.at<
double>(105, 51) = a[19];
  2346     M.at<
double>(105, 53) = a[16];
  2347     M.at<
double>(105, 55) = b[10];
  2348     M.at<
double>(105, 57) = b[4];
  2349     M.at<
double>(105, 59) = b[8];
  2350     M.at<
double>(105, 61) = b[14];
  2351     M.at<
double>(105, 65) = b[19];
  2352     M.at<
double>(105, 82) = b[16];
  2353     M.at<
double>(105, 87) = c[16];
  2354     M.at<
double>(105, 89) = c[19];
  2355     M.at<
double>(105, 108) = c[9];
  2356     M.at<
double>(105, 109) = c[13];
  2357     M.at<
double>(105, 113) = c[10];
  2358     M.at<
double>(105, 114) = c[4];
  2359     M.at<
double>(105, 116) = c[14];
  2360     M.at<
double>(105, 117) = c[8];
  2361     M.at<
double>(106, 27) = a[4];
  2362     M.at<
double>(106, 28) = a[19];
  2363     M.at<
double>(106, 31) = a[14];
  2364     M.at<
double>(106, 32) = a[8];
  2365     M.at<
double>(106, 50) = a[16];
  2366     M.at<
double>(106, 55) = b[4];
  2367     M.at<
double>(106, 57) = b[19];
  2368     M.at<
double>(106, 58) = b[14];
  2369     M.at<
double>(106, 61) = b[8];
  2370     M.at<
double>(106, 80) = b[16];
  2371     M.at<
double>(106, 86) = c[16];
  2372     M.at<
double>(106, 108) = c[13];
  2373     M.at<
double>(106, 109) = c[20];
  2374     M.at<
double>(106, 113) = c[4];
  2375     M.at<
double>(106, 114) = c[19];
  2376     M.at<
double>(106, 115) = c[14];
  2377     M.at<
double>(106, 116) = c[8];
  2378     M.at<
double>(107, 27) = a[19];
  2379     M.at<
double>(107, 31) = a[8];
  2380     M.at<
double>(107, 48) = a[16];
  2381     M.at<
double>(107, 55) = b[19];
  2382     M.at<
double>(107, 58) = b[8];
  2383     M.at<
double>(107, 81) = b[16];
  2384     M.at<
double>(107, 85) = c[16];
  2385     M.at<
double>(107, 108) = c[20];
  2386     M.at<
double>(107, 113) = c[19];
  2387     M.at<
double>(107, 115) = c[8];
  2388     M.at<
double>(108, 36) = a[20];
  2389     M.at<
double>(108, 48) = a[1];
  2390     M.at<
double>(108, 50) = a[9];
  2391     M.at<
double>(108, 53) = a[13];
  2392     M.at<
double>(108, 80) = b[9];
  2393     M.at<
double>(108, 81) = b[1];
  2394     M.at<
double>(108, 82) = b[13];
  2395     M.at<
double>(108, 84) = b[20];
  2396     M.at<
double>(108, 85) = c[1];
  2397     M.at<
double>(108, 86) = c[9];
  2398     M.at<
double>(108, 87) = c[13];
  2399     M.at<
double>(108, 88) = c[20];
  2400     M.at<
double>(109, 26) = u[3];
  2401     M.at<
double>(109, 27) = a[7];
  2402     M.at<
double>(109, 40) = a[6];
  2403     M.at<
double>(109, 42) = a[18];
  2404     M.at<
double>(109, 44) = a[17];
  2405     M.at<
double>(109, 46) = a[2];
  2406     M.at<
double>(109, 52) = a[12];
  2407     M.at<
double>(109, 55) = b[7];
  2408     M.at<
double>(109, 56) = b[18];
  2409     M.at<
double>(109, 66) = b[2];
  2410     M.at<
double>(109, 67) = b[19];
  2411     M.at<
double>(109, 68) = b[17];
  2412     M.at<
double>(109, 70) = b[8];
  2413     M.at<
double>(109, 72) = b[6];
  2414     M.at<
double>(109, 73) = b[12];
  2415     M.at<
double>(109, 91) = c[8];
  2416     M.at<
double>(109, 93) = c[12];
  2417     M.at<
double>(109, 95) = c[6];
  2418     M.at<
double>(109, 97) = c[17];
  2419     M.at<
double>(109, 102) = c[2];
  2420     M.at<
double>(109, 104) = c[19];
  2421     M.at<
double>(109, 106) = c[18];
  2422     M.at<
double>(109, 113) = c[7];
  2423     M.at<
double>(110, 7) = u[3];
  2424     M.at<
double>(110, 30) = a[5];
  2425     M.at<
double>(110, 34) = a[7];
  2426     M.at<
double>(110, 43) = a[15];
  2427     M.at<
double>(110, 45) = a[11];
  2428     M.at<
double>(110, 49) = a[6];
  2429     M.at<
double>(110, 54) = b[7];
  2430     M.at<
double>(110, 63) = b[11];
  2431     M.at<
double>(110, 67) = b[1];
  2432     M.at<
double>(110, 69) = b[10];
  2433     M.at<
double>(110, 71) = b[15];
  2434     M.at<
double>(110, 75) = b[5];
  2435     M.at<
double>(110, 76) = b[6];
  2436     M.at<
double>(110, 99) = c[7];
  2437     M.at<
double>(110, 100) = c[15];
  2438     M.at<
double>(110, 104) = c[1];
  2439     M.at<
double>(110, 107) = c[5];
  2440     M.at<
double>(110, 110) = c[10];
  2441     M.at<
double>(110, 112) = c[11];
  2442     M.at<
double>(110, 119) = c[6];
  2443     M.at<
double>(111, 18) = u[2];
  2444     M.at<
double>(111, 35) = a[20];
  2445     M.at<
double>(111, 36) = a[13];
  2446     M.at<
double>(111, 50) = a[1];
  2447     M.at<
double>(111, 53) = a[9];
  2448     M.at<
double>(111, 80) = b[1];
  2449     M.at<
double>(111, 82) = b[9];
  2450     M.at<
double>(111, 83) = b[20];
  2451     M.at<
double>(111, 84) = b[13];
  2452     M.at<
double>(111, 86) = c[1];
  2453     M.at<
double>(111, 87) = c[9];
  2454     M.at<
double>(111, 88) = c[13];
  2455     M.at<
double>(111, 118) = c[20];
  2456     M.at<
double>(112, 19) = u[2];
  2457     M.at<
double>(112, 31) = a[1];
  2458     M.at<
double>(112, 32) = a[9];
  2459     M.at<
double>(112, 33) = a[13];
  2460     M.at<
double>(112, 34) = a[20];
  2461     M.at<
double>(112, 36) = a[19];
  2462     M.at<
double>(112, 50) = a[10];
  2463     M.at<
double>(112, 53) = a[4];
  2464     M.at<
double>(112, 54) = b[20];
  2465     M.at<
double>(112, 58) = b[1];
  2466     M.at<
double>(112, 59) = b[13];
  2467     M.at<
double>(112, 61) = b[9];
  2468     M.at<
double>(112, 80) = b[10];
  2469     M.at<
double>(112, 82) = b[4];
  2470     M.at<
double>(112, 84) = b[19];
  2471     M.at<
double>(112, 86) = c[10];
  2472     M.at<
double>(112, 87) = c[4];
  2473     M.at<
double>(112, 88) = c[19];
  2474     M.at<
double>(112, 99) = c[20];
  2475     M.at<
double>(112, 115) = c[1];
  2476     M.at<
double>(112, 116) = c[9];
  2477     M.at<
double>(112, 117) = c[13];
  2478     M.at<
double>(113, 31) = a[9];
  2479     M.at<
double>(113, 32) = a[13];
  2480     M.at<
double>(113, 33) = a[20];
  2481     M.at<
double>(113, 48) = a[10];
  2482     M.at<
double>(113, 50) = a[4];
  2483     M.at<
double>(113, 53) = a[19];
  2484     M.at<
double>(113, 58) = b[9];
  2485     M.at<
double>(113, 59) = b[20];
  2486     M.at<
double>(113, 61) = b[13];
  2487     M.at<
double>(113, 80) = b[4];
  2488     M.at<
double>(113, 81) = b[10];
  2489     M.at<
double>(113, 82) = b[19];
  2490     M.at<
double>(113, 85) = c[10];
  2491     M.at<
double>(113, 86) = c[4];
  2492     M.at<
double>(113, 87) = c[19];
  2493     M.at<
double>(113, 115) = c[9];
  2494     M.at<
double>(113, 116) = c[13];
  2495     M.at<
double>(113, 117) = c[20];
  2496     M.at<
double>(114, 31) = a[13];
  2497     M.at<
double>(114, 32) = a[20];
  2498     M.at<
double>(114, 48) = a[4];
  2499     M.at<
double>(114, 50) = a[19];
  2500     M.at<
double>(114, 58) = b[13];
  2501     M.at<
double>(114, 61) = b[20];
  2502     M.at<
double>(114, 80) = b[19];
  2503     M.at<
double>(114, 81) = b[4];
  2504     M.at<
double>(114, 85) = c[4];
  2505     M.at<
double>(114, 86) = c[19];
  2506     M.at<
double>(114, 115) = c[13];
  2507     M.at<
double>(114, 116) = c[20];
  2508     M.at<
double>(115, 31) = a[20];
  2509     M.at<
double>(115, 48) = a[19];
  2510     M.at<
double>(115, 58) = b[20];
  2511     M.at<
double>(115, 81) = b[19];
  2512     M.at<
double>(115, 85) = c[19];
  2513     M.at<
double>(115, 115) = c[20];
  2514     M.at<
double>(116, 24) = u[2];
  2515     M.at<
double>(116, 29) = a[13];
  2516     M.at<
double>(116, 30) = a[20];
  2517     M.at<
double>(116, 37) = a[11];
  2518     M.at<
double>(116, 38) = a[3];
  2519     M.at<
double>(116, 39) = a[2];
  2520     M.at<
double>(116, 50) = a[15];
  2521     M.at<
double>(116, 52) = a[9];
  2522     M.at<
double>(116, 53) = a[18];
  2523     M.at<
double>(116, 73) = b[9];
  2524     M.at<
double>(116, 74) = b[13];
  2525     M.at<
double>(116, 75) = b[20];
  2526     M.at<
double>(116, 77) = b[11];
  2527     M.at<
double>(116, 78) = b[3];
  2528     M.at<
double>(116, 79) = b[2];
  2529     M.at<
double>(116, 80) = b[15];
  2530     M.at<
double>(116, 82) = b[18];
  2531     M.at<
double>(116, 86) = c[15];
  2532     M.at<
double>(116, 87) = c[18];
  2533     M.at<
double>(116, 92) = c[3];
  2534     M.at<
double>(116, 93) = c[9];
  2535     M.at<
double>(116, 94) = c[13];
  2536     M.at<
double>(116, 96) = c[2];
  2537     M.at<
double>(116, 98) = c[11];
  2538     M.at<
double>(116, 107) = c[20];
  2539     M.at<
double>(117, 29) = a[20];
  2540     M.at<
double>(117, 37) = a[3];
  2541     M.at<
double>(117, 38) = a[2];
  2542     M.at<
double>(117, 48) = a[15];
  2543     M.at<
double>(117, 50) = a[18];
  2544     M.at<
double>(117, 52) = a[13];
  2545     M.at<
double>(117, 73) = b[13];
  2546     M.at<
double>(117, 74) = b[20];
  2547     M.at<
double>(117, 77) = b[3];
  2548     M.at<
double>(117, 78) = b[2];
  2549     M.at<
double>(117, 80) = b[18];
  2550     M.at<
double>(117, 81) = b[15];
  2551     M.at<
double>(117, 85) = c[15];
  2552     M.at<
double>(117, 86) = c[18];
  2553     M.at<
double>(117, 92) = c[2];
  2554     M.at<
double>(117, 93) = c[13];
  2555     M.at<
double>(117, 94) = c[20];
  2556     M.at<
double>(117, 98) = c[3];
  2557     M.at<
double>(118, 27) = a[13];
  2558     M.at<
double>(118, 28) = a[20];
  2559     M.at<
double>(118, 31) = a[4];
  2560     M.at<
double>(118, 32) = a[19];
  2561     M.at<
double>(118, 48) = a[14];
  2562     M.at<
double>(118, 50) = a[8];
  2563     M.at<
double>(118, 55) = b[13];
  2564     M.at<
double>(118, 57) = b[20];
  2565     M.at<
double>(118, 58) = b[4];
  2566     M.at<
double>(118, 61) = b[19];
  2567     M.at<
double>(118, 80) = b[8];
  2568     M.at<
double>(118, 81) = b[14];
  2569     M.at<
double>(118, 85) = c[14];
  2570     M.at<
double>(118, 86) = c[8];
  2571     M.at<
double>(118, 113) = c[13];
  2572     M.at<
double>(118, 114) = c[20];
  2573     M.at<
double>(118, 115) = c[4];
  2574     M.at<
double>(118, 116) = c[19];
  2575     M.at<
double>(119, 27) = a[20];
  2576     M.at<
double>(119, 31) = a[19];
  2577     M.at<
double>(119, 48) = a[8];
  2578     M.at<
double>(119, 55) = b[20];
  2579     M.at<
double>(119, 58) = b[19];
  2580     M.at<
double>(119, 81) = b[8];
  2581     M.at<
double>(119, 85) = c[8];
  2582     M.at<
double>(119, 113) = c[20];
  2583     M.at<
double>(119, 115) = c[19];
  2605     Hs1[1] = 2 * s[0] * s[1];
  2611     Hs1[7] = s[2] * s[2];
  2620     Hs1[16] = s[1] * s[2];
  2621     Hs1[17] = s[1] * s[1];
  2622     Hs1[18] = 2 * s[0] * s[2];
  2623     Hs1[19] = 3 * s[0] * s[0];
  2632     Hs2[1] = s[0] * s[0];
  2636     Hs2[5] = 2 * s[1] * s[2];
  2637     Hs2[6] = 3 * s[1] * s[1];
  2642     Hs2[11] = s[2] * s[2];
  2647     Hs2[16] = s[0] * s[2];
  2648     Hs2[17] = 2 * s[0] * s[1];
  2664     Hs3[5] = s[1] * s[1];
  2666     Hs3[7] = 2 * s[0] * s[2];
  2670     Hs3[11] = 2 * s[1] * s[2];
  2674     Hs3[15] = 3 * s[2] * s[2];
  2675     Hs3[16] = s[0] * s[1];
  2677     Hs3[18] = s[0] * s[0];
  2681     cv::Mat H(3, 3, CV_64F);
  2682     H.at<
double>(0, 0) =
  2684             cv::Mat(f1coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs1))
  2686     H.at<
double>(0, 1) =
  2688             cv::Mat(f1coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs2))
  2690     H.at<
double>(0, 2) =
  2692             cv::Mat(f1coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs3))
  2695     H.at<
double>(1, 0) =
  2697             cv::Mat(f2coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs1))
  2699     H.at<
double>(1, 1) =
  2701             cv::Mat(f2coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs2))
  2703     H.at<
double>(1, 2) =
  2705             cv::Mat(f2coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs3))
  2708     H.at<
double>(2, 0) =
  2710             cv::Mat(f3coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs1))
  2712     H.at<
double>(2, 1) =
  2714             cv::Mat(f3coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs2))
  2716     H.at<
double>(2, 2) =
  2718             cv::Mat(f3coeff).rowRange(1, 21).t() * cv::Mat(20, 1, CV_64F, &Hs3))
  2726     double s_mul1 = cv::Mat(s.t() * s).at<double>(0, 0);
  2727     cv::Mat s_mul2 = s * s.t();
  2728     cv::Mat eye = cv::Mat::eye(3, 3, CV_64F);
  2730     return cv::Mat(eye.mul(1. - s_mul1) + skewsymm(&s).mul(2.) + s_mul2.mul(2.))
  2736     cv::MatConstIterator_<double> it = X1->begin<
double>();
  2738         cv::Mat_<double>(3, 3) << 0, -*(it + 2), *(it + 1), *(it + 2), 0,
  2739         -*(it + 0), -*(it + 1), *(it + 0), 0);
  2747     return (cv::Mat_<double>(3, 3) << 1, 0, 0, 0, ct, -st, 0, st, ct);
  2755     return (cv::Mat_<double>(3, 3) << ct, 0, st, 0, 1, 0, -st, 0, ct);
  2763     return (cv::Mat_<double>(3, 3) << ct, -st, 0, st, ct, 0, 0, 0, 1);
  2768     cv::Mat m = cv::Mat::zeros(3, 1, CV_64F);
  2769     for (
int i = 0; i < M.cols; ++i) m += M.col(i);
  2770     return m.mul(1. / (
double)M.cols);
  2775     cv::MatConstIterator_<double> it = M->begin<
double>(),
  2776                                   it_end = M->end<
double>();
  2777     for (; it != it_end; ++it)
  2779         if (*it < 0) 
return false;
  2786     cv::MatConstIterator_<double> it = eigenvalues->begin<
double>();
  2787     return *(it) > 0 && *(it + 1) > 0 && *(it + 2) > 0;
 bool is_empty(const cv::Mat *v)
Check for negative values in vector v. 
 
bool compute_pose(cv::Mat &R, cv::Mat &t)
OpenCV function for computing pose. 
 
void build_coeff_matrix(const cv::Mat &pp, cv::Mat &Mtilde, cv::Mat &D)
Build the Maucaulay matrix co-efficients. 
 
void fill_coeff(const cv::Mat *D)
Fill the hessian functions. 
 
std::vector< double > f1coeff
number of input points 
 
cv::Mat roty(const double t)
Rotation matrix along y-axis by angle t. 
 
std::vector< double > f2coeff
 
void compute_eigenvec(const cv::Mat &Mtilde, cv::Mat &eigenval_real, cv::Mat &eigenval_imag, cv::Mat &eigenvec_real, cv::Mat &eigenvec_imag)
Eigen Value Decomposition. 
 
cv::Mat rotz(const double t)
Rotation matrix along z-axis by angle t. 
 
std::vector< double > f3coeff
 
cv::Mat cayley_LS_M(const std::vector< double > &a, const std::vector< double > &b, const std::vector< double > &c, const std::vector< double > &u)
Fill the Maucaulay matrix with co-efficients. 
 
cv::Mat Hessian(const double s[])
Compute the Hessian matrix for the polynomial co-efficient vector s. 
 
double cost__
optimal found solution 
 
cv::Mat rotx(const double t)
Rotation matrix along x-axis by angle t. 
 
cv::Mat LeftMultVec(const cv::Mat &v)
Create a matrix from vector. 
 
cv::Mat mean(const cv::Mat &M)
Column-wise mean of matrix M. 
 
cv::Mat cayley2rotbar(const cv::Mat &s)
Cayley parameters to Rotation Matrix. 
 
void run_kernel(const cv::Mat &pp)
Main function to run DLS-PnP. 
 
Direct Least Squares (DLS) - Eigen wrapper for OpenCV Implementation. 
 
dls(const cv::Mat &opoints, const cv::Mat &ipoints)
Constructor for DLS class. 
 
bool positive_eigenvalues(const cv::Mat *eigenvalues)
check for positive eigenvalues 
 
cv::Mat skewsymm(const cv::Mat *X1)
Create a skwy-symmetric matrix from a vector.