Contribution of a single bearing observation to the projector-based DLT normal-equation matrix. With unit bearing b and projection matrix P = cam_from_world, the residual operator is term = P - b b^T P, and the system accumulates term^T term.
| 141 | // P = cam_from_world, the residual operator is term = P - b b^T P, and the |
| 142 | // system accumulates term^T term. |
| 143 | inline Eigen::Matrix4d TriangulationDltTerm( |
| 144 | const Eigen::Matrix3x4d& cam_from_world, const Eigen::Vector3d& cam_ray) { |
| 145 | const Eigen::Matrix3x4d term = |
| 146 | cam_from_world - cam_ray * cam_ray.transpose() * cam_from_world; |
| 147 | return term.transpose() * term; |
| 148 | } |
| 149 | |
| 150 | // Solve the DLT system for the homogeneous point (smallest eigenvector of A). |
| 151 | inline bool SolveTriangulationDlt(const Eigen::Matrix4d& A, |
no outgoing calls
no test coverage detected