Add field for image channel in charuco lib
Allows us to easily send it to /camera/decimated for mapping, which is
what we're using until we start logging at full frequency.
Also, move some command line flags out of charuco lib to avoid manually setting flags.
Signed-off-by: Milind Upadhyay <milind.upadhyay@gmail.com>
Change-Id: Iae4d9ed06260154a0fb4d4c67ea03b06a28e4411
diff --git a/y2020/vision/calibration.cc b/y2020/vision/calibration.cc
index c6bacdb..6145452 100644
--- a/y2020/vision/calibration.cc
+++ b/y2020/vision/calibration.cc
@@ -35,7 +35,7 @@
prev_H_camera_board_(Eigen::Affine3d()),
prev_image_H_camera_board_(Eigen::Affine3d()),
charuco_extractor_(
- event_loop, pi,
+ event_loop, pi, TargetType::kCharuco, "/camera",
[this](cv::Mat rgb_image,
const aos::monotonic_clock::time_point eof,
std::vector<cv::Vec4i> charuco_ids,
@@ -60,8 +60,6 @@
CHECK(std::regex_match(camera_id_, re))
<< ": Invalid camera_id '" << camera_id_
<< "', should be of form YY-NN";
- CHECK_EQ(FLAGS_target_type, "charuco")
- << "Intrinsic calibration only works with Charuco board";
}
void HandleCharuco(cv::Mat rgb_image,
diff --git a/y2020/vision/extrinsics_calibration.cc b/y2020/vision/extrinsics_calibration.cc
index cf0c8f2..3702355 100644
--- a/y2020/vision/extrinsics_calibration.cc
+++ b/y2020/vision/extrinsics_calibration.cc
@@ -65,7 +65,7 @@
// Now, hook Calibration up to everything.
Calibration extractor(&factory, pi_event_loop.get(), imu_event_loop.get(),
- FLAGS_pi, &data);
+ FLAGS_pi, TargetType::kCharuco, "/camera", &data);
if (FLAGS_turret) {
aos::NodeEventLoopFactory *roborio_factory =