diff --git a/modules/ocl/src/filtering.cpp b/modules/ocl/src/filtering.cpp index d7502496f9..112205ba73 100644 --- a/modules/ocl/src/filtering.cpp +++ b/modules/ocl/src/filtering.cpp @@ -444,8 +444,8 @@ void morphOp(int op, const oclMat &src, oclMat &dst, const Mat &_kernel, Point a else if (iterations > 1 && countNonZero(_kernel) == _kernel.rows * _kernel.cols) { anchor = Point(anchor.x * iterations, anchor.y * iterations); - kernel = getStructuringElement(MORPH_RECT, Size(ksize.width + iterations * (ksize.width - 1), - ksize.height + iterations * (ksize.height - 1)), anchor); + kernel = getStructuringElement(MORPH_RECT, Size(ksize.width + (iterations - 1) * (ksize.width - 1), + ksize.height + (iterations - 1) * (ksize.height - 1)), anchor); iterations = 1; } else