Commit 7a52a4c1 authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #15874 from akhakim:runsepfilter_5x5_kernel_size

parents b6a58818 36397669
...@@ -58,7 +58,7 @@ INSTANTIATE_TEST_CASE_P(BlurPerfTestFluid, BlurPerfTest, ...@@ -58,7 +58,7 @@ INSTANTIATE_TEST_CASE_P(BlurPerfTestFluid, BlurPerfTest,
INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestFluid, GaussianBlurPerfTest, INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestFluid, GaussianBlurPerfTest,
Combine(Values(ToleranceFilter(1e-3f, 0.01).to_compare_f()), Combine(Values(ToleranceFilter(1e-3f, 0.01).to_compare_f()),
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1), Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
Values(3), // TODO: add size=5, when kernel is ready Values(3, 5),
Values(szVGA, sz720p, sz1080p), Values(szVGA, sz720p, sz1080p),
Values(cv::compile_args(IMGPROC_FLUID)))); Values(cv::compile_args(IMGPROC_FLUID))));
......
...@@ -628,7 +628,7 @@ static void run_sepfilter(Buffer& dst, const View& src, ...@@ -628,7 +628,7 @@ static void run_sepfilter(Buffer& dst, const View& src,
else else
{ {
int length = chan * width; int length = chan * width;
int xshift = chan * xborder; int xshift = chan;
// horizontal pass // horizontal pass
...@@ -788,8 +788,6 @@ GAPI_FLUID_KERNEL(GFluidGaussBlur, cv::gapi::imgproc::GGaussBlur, true) ...@@ -788,8 +788,6 @@ GAPI_FLUID_KERNEL(GFluidGaussBlur, cv::gapi::imgproc::GGaussBlur, true)
Buffer& dst, Buffer& dst,
Buffer& scratch) Buffer& scratch)
{ {
GAPI_Assert(ksize.height == 3);
int kxsize = ksize.width; int kxsize = ksize.width;
int kysize = ksize.height; int kysize = ksize.height;
...@@ -800,10 +798,16 @@ GAPI_FLUID_KERNEL(GFluidGaussBlur, cv::gapi::imgproc::GGaussBlur, true) ...@@ -800,10 +798,16 @@ GAPI_FLUID_KERNEL(GFluidGaussBlur, cv::gapi::imgproc::GGaussBlur, true)
int chan = src.meta().chan; int chan = src.meta().chan;
int length = width * chan; int length = width * chan;
float *buf[3]; constexpr int buffSize = 5;
GAPI_Assert(ksize.height <= buffSize);
float *buf[buffSize]{};
buf[0] = ky + kysize; buf[0] = ky + kysize;
buf[1] = buf[0] + length; for (int i = 1; i < ksize.height; ++i)
buf[2] = buf[1] + length; {
buf[i] = buf[i - 1] + length;
}
auto anchor = cv::Point(-1, -1); auto anchor = cv::Point(-1, -1);
......
...@@ -106,7 +106,7 @@ INSTANTIATE_TEST_CASE_P(gaussBlurTestFluid, GaussianBlurTest, ...@@ -106,7 +106,7 @@ INSTANTIATE_TEST_CASE_P(gaussBlurTestFluid, GaussianBlurTest,
Values(-1), Values(-1),
Values(IMGPROC_FLUID), Values(IMGPROC_FLUID),
Values(ToleranceFilter(1e-3f, 0.01).to_compare_obj()), Values(ToleranceFilter(1e-3f, 0.01).to_compare_obj()),
Values(3))); // add kernel size=5 when implementation is ready Values(3, 5)));
INSTANTIATE_TEST_CASE_P(medianBlurTestFluid, MedianBlurTest, INSTANTIATE_TEST_CASE_P(medianBlurTestFluid, MedianBlurTest,
Combine(Values(CV_8UC1, CV_16UC1, CV_16SC1), Combine(Values(CV_8UC1, CV_16UC1, CV_16SC1),
......
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