From 8a1d3929cc48f32455f9980cefb2ef8a46d81274 Mon Sep 17 00:00:00 2001 From: Dmitry Gribanov Date: Mon, 15 Sep 2014 17:04:08 +0400 Subject: [PATCH] Feature based stitching's wave correction bugfix. When we have similar matrices in input, then algorithm returns matrices with NaN values. --- modules/stitching/src/motion_estimators.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/stitching/src/motion_estimators.cpp b/modules/stitching/src/motion_estimators.cpp index 2ba691b7d..5ae14b7e9 100644 --- a/modules/stitching/src/motion_estimators.cpp +++ b/modules/stitching/src/motion_estimators.cpp @@ -616,7 +616,14 @@ void waveCorrect(vector &rmats, WaveCorrectKind kind) for (size_t i = 0; i < rmats.size(); ++i) img_k += rmats[i].col(2); Mat rg0 = rg1.cross(img_k); - rg0 /= norm(rg0); + double rg0_norm = norm(rg0); + + if( rg0_norm <= DBL_MIN ) + { + return; + } + + rg0 /= rg0_norm; Mat rg2 = rg0.cross(rg1);