diff --git a/modules/ximgproc/src/edge_drawing.cpp b/modules/ximgproc/src/edge_drawing.cpp index 25051b636..ff2e0fb3b 100644 --- a/modules/ximgproc/src/edge_drawing.cpp +++ b/modules/ximgproc/src/edge_drawing.cpp @@ -1294,6 +1294,7 @@ void EdgeDrawingImpl::detectLines(OutputArray _lines) double* x = new double[(width + height) * 8]; double* y = new double[(width + height) * 8]; + lines.clear(); linesNo = 0; // Use the whole segment @@ -2427,6 +2428,7 @@ void EdgeDrawingImpl::detectEllipses(OutputArray ellipses) } min_line_len = 6; + line_error = params.LineFitErrorThreshold; Circles.clear(); Ellipses.clear(); lines.clear(); diff --git a/modules/ximgproc/test/test_fld.cpp b/modules/ximgproc/test/test_fld.cpp index f19f336a4..24022a380 100644 --- a/modules/ximgproc/test/test_fld.cpp +++ b/modules/ximgproc/test/test_fld.cpp @@ -285,8 +285,8 @@ TEST_F(ximgproc_ED, ManySmallCircles) vector ellipses; detector->detectEdges(test_image); - detector->detectLines(lines); detector->detectEllipses(ellipses); + detector->detectLines(lines); size_t segments_size = 6458; size_t lines_size = 6264;