From 0f8cac7041971c4f4d9289b768a2753b76a8aaae Mon Sep 17 00:00:00 2001
From: Sebastian Hahta <joseha@utu.fi>
Date: Wed, 4 Sep 2019 12:25:49 +0300
Subject: [PATCH] allow manual selection of reference camera

---
 applications/calibration-multi/src/main.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/applications/calibration-multi/src/main.cpp b/applications/calibration-multi/src/main.cpp
index 0901be79c..f9c258d76 100644
--- a/applications/calibration-multi/src/main.cpp
+++ b/applications/calibration-multi/src/main.cpp
@@ -204,8 +204,9 @@ void calibrate(	MultiCameraCalibrationNew &calib, vector<string> &uri_cameras,
 	if (params.reference_camera < 0) {
 		reference_camera = calib.getOptimalReferenceCamera();
 		reference_camera -= (reference_camera & 1);
+		LOG(INFO) << "optimal camera (automatic): " << reference_camera;
 	}
-	LOG(INFO) << "optimal camera: " << reference_camera;
+	LOG(INFO) << "reference camera: " << reference_camera;
 
 	if (params.optimize_intrinsic) calib.setFixIntrinsic(0);
 
@@ -536,11 +537,13 @@ int main(int argc, char **argv) {
 	const int min_visible = root->value<int>("min_visible", 3);
 	// minimum for how many times pattern is seen per camera
 	const int n_views = root->value<int>("n_views", 500);
+	// reference camera, -1 for automatic
+	const int ref_camera = root->value<int>("reference_camera", -1);
 	// registration file path
 	const string registration_file = root->value<string>("registration_file", FTL_LOCAL_CONFIG_ROOT "/registration.json");
 	// location where extrinsic calibration files saved
 	const string output_directory = root->value<string>("output_directory", "./");
-
+	
 	CalibrationParams params;
 	params.save_extrinsic = save_extrinsic;
 	params.save_intrinsic = save_intrinsic;
@@ -560,6 +563,7 @@ int main(int argc, char **argv) {
 				<< "\n     calibration_data_file: " << calibration_data_file
 				<< "\n               min_visible: " << min_visible
 				<< "\n                   n_views: " << n_views
+				<< "\n          reference_camera: " << ref_camera << (ref_camera != -1 ? "" : " (automatic)")
 				<< "\n         registration_file: " << registration_file
 				<< "\n          output_directory: " << output_directory
 				<< "\n";
-- 
GitLab