diff --git a/modules/imgproc/src/canny.cpp b/modules/imgproc/src/canny.cpp index 26d499ee16..1311d5abb9 100644 --- a/modules/imgproc/src/canny.cpp +++ b/modules/imgproc/src/canny.cpp @@ -453,7 +453,7 @@ void cv::Canny( InputArray _src, OutputArray _dst, if ((stack_top - stack_bottom) + src.cols > maxsize) { int sz = (int)(stack_top - stack_bottom); - maxsize = maxsize * 3/2; + maxsize = std::max(maxsize * 3/2, sz + src.cols); stack.resize(maxsize); stack_bottom = &stack[0]; stack_top = stack_bottom + sz;