diff --git a/modules/stitching/src/motion_estimators.cpp b/modules/stitching/src/motion_estimators.cpp index d6fd2275d..873be6caa 100644 --- a/modules/stitching/src/motion_estimators.cpp +++ b/modules/stitching/src/motion_estimators.cpp @@ -629,7 +629,14 @@ void waveCorrect(std::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);