From d594e72586fa83d5e6b9fe87209a500129b1f138 Mon Sep 17 00:00:00 2001 From: Alexander Duda Date: Wed, 11 Mar 2020 21:56:56 +0100 Subject: [PATCH] fix: estimateChessboardSharpness triggers out of range test Problem is that iter1 += tcols, iter2 += tcols are called without check. row < trows - 1 check is processed after increment in "for" statements. --- modules/calib3d/src/chessboard.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/calib3d/src/chessboard.cpp b/modules/calib3d/src/chessboard.cpp index 8716e9ce24..74238ecf84 100644 --- a/modules/calib3d/src/chessboard.cpp +++ b/modules/calib3d/src/chessboard.cpp @@ -3323,14 +3323,16 @@ cv::Scalar Chessboard::Board::calcEdgeSharpness(cv::InputArray _img,float rise_d // build vertical lines for(int col = 1;col< tcols-1;++col) { - std::vector::const_iterator iter1 = centers.begin()+col; - std::vector::const_iterator iter2 = iter1+tcols; - for(int row= 0;row >::const_iterator iter = pairs.begin();