diff --git a/modules/calib3d/src/usac/utils.cpp b/modules/calib3d/src/usac/utils.cpp index 204b31cf92..8d95fb9c33 100644 --- a/modules/calib3d/src/usac/utils.cpp +++ b/modules/calib3d/src/usac/utils.cpp @@ -169,6 +169,9 @@ public: int getRealRoots (const std::vector &coeffs, std::vector &real_roots) override { if (coeffs.empty()) return 0; + for (auto c : coeffs) + if (cvIsNaN(c) || cvIsInf(c)) + return 0; Poly input(coeffs); if (input.degree() < 1) return 0;