32 #define TEST_NAME "estimators/homography_matrix"
36 #include <Eigen/Geometry>
43 for (
double x = 0;
x < 10; ++
x) {
45 H0 <<
x, 0.2, 0.3, 30, 0.2, 0.1, 0.3, 20, 1;
47 std::vector<Eigen::Vector2d> src;
48 src.emplace_back(
x, 0);
49 src.emplace_back(1, 0);
50 src.emplace_back(2, 1);
51 src.emplace_back(10, 30);
53 std::vector<Eigen::Vector2d> dst;
55 for (
size_t i = 0; i < 4; ++i) {
56 const Eigen::Vector3d dsth = H0 * src[i].homogeneous();
57 dst.push_back(dsth.hnormalized());
61 const auto models = est_tform.
Estimate(src, dst);
63 std::vector<double> residuals;
64 est_tform.
Residuals(src, dst, models[0], &residuals);
66 for (
size_t i = 0; i < 4; ++i) {
67 BOOST_CHECK(residuals[i] < 1
e-6);
BOOST_AUTO_TEST_CASE(TestDecomposeHomographyMatrix)
static std::vector< M_t > Estimate(const std::vector< X_t > &points1, const std::vector< Y_t > &points2)
static void Residuals(const std::vector< X_t > &points1, const std::vector< Y_t > &points2, const M_t &H, std::vector< double > *residuals)