diff --git a/SDK/CPP/public/include/voltu/types/intrinsics.hpp b/SDK/CPP/public/include/voltu/types/intrinsics.hpp index 8571c9ea1321c4661003cd58058c2a540fb2ea7f..4157ab383d10563d1a334127f2d768abb23301e6 100644 --- a/SDK/CPP/public/include/voltu/types/intrinsics.hpp +++ b/SDK/CPP/public/include/voltu/types/intrinsics.hpp @@ -25,6 +25,8 @@ struct Intrinsics /** Projection matrix */ PY_API Eigen::Matrix3d matrix(); + /** Size (width, height) */ + PY_API Eigen::Vector2i size(); }; /** Stereo camera intrinsic parameters. diff --git a/SDK/CPP/public/src/types/intrinsics.cpp b/SDK/CPP/public/src/types/intrinsics.cpp index 63cfbc5908b6b5a80bee72619a158f781a2f1c57..a9f94944b2872c6b23f5122959e336c6cae15bb1 100644 --- a/SDK/CPP/public/src/types/intrinsics.cpp +++ b/SDK/CPP/public/src/types/intrinsics.cpp @@ -8,3 +8,7 @@ Eigen::Matrix3d voltu::Intrinsics::matrix() { 0.0, 0.0, 1.0; return K; } + +Eigen::Vector2i voltu::Intrinsics::size() { + return { width, height }; +} diff --git a/SDK/CPP/tests/test_intrinsics.py b/SDK/CPP/tests/test_intrinsics.py index 52d3fdab74dbb965e88c9b103be6ceb464144adb..08fa3bf2348e565c08da29d2e48d53a7922e4d29 100644 --- a/SDK/CPP/tests/test_intrinsics.py +++ b/SDK/CPP/tests/test_intrinsics.py @@ -13,10 +13,12 @@ class Intrinsics(unittest.TestCase): fy = 3.0 cx = 4.0 cy = 5.0 + w = 6 + h = 7 intr = voltu.Intrinsics( - width = 6, - height = 7, + width = w, + height = h, focal_x = fx, focal_y = fy, principle_x = -cx, @@ -30,3 +32,8 @@ class Intrinsics(unittest.TestCase): ]) self.assertTrue(np.array_equal(intr.matrix(), K)) + + w_, h_ = intr.size() + self.assertEqual(w_, w) + self.assertEqual(h_, h) + self.assertTrue(np.array_equal((w, h), intr.size()))