From afc129a7f480850a1fd1750af28d3bd9a76c0469 Mon Sep 17 00:00:00 2001
From: Sebastian Hahta <joseha@utu.fi>
Date: Thu, 29 Aug 2019 13:45:25 +0300
Subject: [PATCH] Added missing error check

F can't be estimated should cameras have critical configuration.
---
 applications/calibration-multi/src/multicalibrate.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/applications/calibration-multi/src/multicalibrate.cpp b/applications/calibration-multi/src/multicalibrate.cpp
index 074e778ed..2292d178d 100644
--- a/applications/calibration-multi/src/multicalibrate.cpp
+++ b/applications/calibration-multi/src/multicalibrate.cpp
@@ -393,6 +393,13 @@ double MultiCameraCalibrationNew::calibratePair(size_t camera_from, size_t camer
 	vector<uchar> inliers;
 	Mat F, E;
 	F = cv::findFundamentalMat(points1, points2, fm_method_, fm_ransac_threshold_, fm_confidence_, inliers);
+
+	if (F.empty())
+	{
+		LOG(ERROR) << "Fundamental matrix estimation failed. Possibly degenerate configuration?";
+		return INFINITY;
+	}
+
 	E = K2.t() * F * K1;
 
 	// Only include inliers
-- 
GitLab