void cv::ocl::GaussianBlur(const oclMat &src, oclMat &dst, Size ksize, double sigma1, double sigma2, int bordertype)
{
+ if (bordertype != BORDER_CONSTANT)
+ {
+ if (src.rows == 1)
+ ksize.height = 1;
+
+ if (src.cols == 1)
+ ksize.width = 1;
+ }
+
if (ksize.width == 1 && ksize.height == 1)
{
src.copyTo(dst);
dst.create(src.size(), src.type());
- if (bordertype != BORDER_CONSTANT)
- {
- if (src.rows == 1)
- ksize.height = 1;
-
- if (src.cols == 1)
- ksize.width = 1;
- }
-
Ptr<FilterEngine_GPU> f = createGaussianFilter_GPU(src.type(), ksize, sigma1, sigma2, bordertype);
f->apply(src, dst);
}
GaussianBlur(src_roi, dst_roi, Size(ksize, ksize), sigma1, sigma2, borderType);
ocl::GaussianBlur(gsrc_roi, gdst_roi, Size(ksize, ksize), sigma1, sigma2, borderType);
- Near();
+ Near(CV_MAT_DEPTH(type) == CV_8U ? 3 : 1e-6, false);
}
}