From a0bc0ab7cb7ee4eeb4e9f79cfbaace267fcf203e Mon Sep 17 00:00:00 2001 From: Nisarg Thakkar Date: Wed, 15 Apr 2015 23:49:01 +0530 Subject: [PATCH] Fix for Bug4243 --- modules/imgproc/src/morph.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/imgproc/src/morph.cpp b/modules/imgproc/src/morph.cpp index 44eb3adfc0..78c0e4f0aa 100644 --- a/modules/imgproc/src/morph.cpp +++ b/modules/imgproc/src/morph.cpp @@ -1820,11 +1820,22 @@ static bool ocl_morphologyEx(InputArray _src, OutputArray _dst, int op, #endif void cv::morphologyEx( InputArray _src, OutputArray _dst, int op, - InputArray kernel, Point anchor, int iterations, + InputArray _kernel, Point anchor, int iterations, int borderType, const Scalar& borderValue ) { #ifdef HAVE_OPENCL - Size ksize = kernel.size(); + Size ksize = _kernel.size(); + Mat tempKernel; + if (ksize.height==0 || ksize.width==0) + { + tempKernel = getStructuringElement(MORPH_RECT, Size(3,3), Point(1,1)); + ksize = tempKernel.size(); + } + else + { + tempKernel = _kernel.getMat(); + } + InputArray kernel = InputArray(tempKernel); anchor = normalizeAnchor(anchor, ksize); CV_OCL_RUN(_dst.isUMat() && _src.dims() <= 2 && _src.channels() <= 4 &&