Commit 63d8a61b authored by Ilya Lavrenov's avatar Ilya Lavrenov

enabled 3-channels support for cv::createSuperResolution_BTVL1

parent 291458a8
...@@ -3425,8 +3425,6 @@ static bool ocl_sepColFilter2D(const UMat & buf, UMat & dst, const Mat & kernelY ...@@ -3425,8 +3425,6 @@ static bool ocl_sepColFilter2D(const UMat & buf, UMat & dst, const Mat & kernelY
return k.run(2, globalsize, localsize, false); return k.run(2, globalsize, localsize, false);
} }
#if 0
const int optimizedSepFilterLocalSize = 16; const int optimizedSepFilterLocalSize = 16;
static bool ocl_sepFilter2D_SinglePass(InputArray _src, OutputArray _dst, static bool ocl_sepFilter2D_SinglePass(InputArray _src, OutputArray _dst,
...@@ -3484,13 +3482,11 @@ static bool ocl_sepFilter2D_SinglePass(InputArray _src, OutputArray _dst, ...@@ -3484,13 +3482,11 @@ static bool ocl_sepFilter2D_SinglePass(InputArray _src, OutputArray _dst,
return k.run(2, gt2, lt2, false); return k.run(2, gt2, lt2, false);
} }
#endif
static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth, static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth,
InputArray _kernelX, InputArray _kernelY, Point anchor, InputArray _kernelX, InputArray _kernelY, Point anchor,
double delta, int borderType ) double delta, int borderType )
{ {
// Size imgSize = _src.size(); Size imgSize = _src.size();
if (abs(delta)> FLT_MIN) if (abs(delta)> FLT_MIN)
return false; return false;
...@@ -3515,10 +3511,11 @@ static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth, ...@@ -3515,10 +3511,11 @@ static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth,
if (ddepth < 0) if (ddepth < 0)
ddepth = sdepth; ddepth = sdepth;
// CV_OCL_RUN_(kernelY.rows <= 21 && kernelX.rows <= 21 && CV_OCL_RUN_(kernelY.rows <= 21 && kernelX.rows <= 21 &&
// imgSize.width > optimizedSepFilterLocalSize + (kernelX.rows >> 1) && imgSize.width > optimizedSepFilterLocalSize + (kernelX.rows >> 1) &&
// imgSize.height > optimizedSepFilterLocalSize + (kernelY.rows >> 1), imgSize.height > optimizedSepFilterLocalSize + (kernelY.rows >> 1) &&
// ocl_sepFilter2D_SinglePass(_src, _dst, _kernelX, _kernelY, borderType, ddepth), true) (borderType & BORDER_ISOLATED) != 0,
ocl_sepFilter2D_SinglePass(_src, _dst, _kernelX, _kernelY, borderType, ddepth), true)
UMat src = _src.getUMat(); UMat src = _src.getUMat();
Size srcWholeSize; Point srcOffset; Size srcWholeSize; Point srcOffset;
......
...@@ -85,7 +85,7 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool) ...@@ -85,7 +85,7 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool)
temp = randomMat(Size(1, ksize.height), CV_MAKE_TYPE(CV_32F, 1), -MAX_VALUE, MAX_VALUE); temp = randomMat(Size(1, ksize.height), CV_MAKE_TYPE(CV_32F, 1), -MAX_VALUE, MAX_VALUE);
cv::normalize(temp, kernelY, 1.0, 0.0, NORM_L1); cv::normalize(temp, kernelY, 1.0, 0.0, NORM_L1);
Size roiSize = randomSize(ksize.width + 16, MAX_VALUE, ksize.height + 20, MAX_VALUE); Size roiSize = randomSize(ksize.width, MAX_VALUE, ksize.height, MAX_VALUE);
int rest = roiSize.width % 4; int rest = roiSize.width % 4;
if (rest != 0) if (rest != 0)
roiSize.width += (4 - rest); roiSize.width += (4 - rest);
...@@ -115,7 +115,7 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool) ...@@ -115,7 +115,7 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool)
OCL_TEST_P(SepFilter2D, Mat) OCL_TEST_P(SepFilter2D, Mat)
{ {
for (int j = 0; j < test_loop_times; j++) for (int j = 0; j < test_loop_times + 1; j++)
{ {
random_roi(); random_roi();
......
...@@ -1014,10 +1014,8 @@ namespace ...@@ -1014,10 +1014,8 @@ namespace
return; return;
#ifdef HAVE_OPENCL #ifdef HAVE_OPENCL
if (isUmat_ && curFrame_.channels() == 1) if (isUmat_)
curFrame_.copyTo(ucurFrame_); curFrame_.copyTo(ucurFrame_);
else
isUmat_ = false;
#endif #endif
++storePos_; ++storePos_;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment