Merge pull request #15638 from AsyaPronina:asyadev/gapi_filter2d_test
This commit is contained in:
commit
c54753c185
@ -29,8 +29,8 @@ namespace opencv_test
|
|||||||
// - created (and initialized) automatically
|
// - created (and initialized) automatically
|
||||||
// - available in test body
|
// - available in test body
|
||||||
// Note: all parameter _values_ (e.g. type CV_8UC3) are set via INSTANTIATE_TEST_CASE_P macro
|
// Note: all parameter _values_ (e.g. type CV_8UC3) are set via INSTANTIATE_TEST_CASE_P macro
|
||||||
GAPI_TEST_FIXTURE(Filter2DTest, initMatrixRandN, FIXTURE_API(CompareMats,int,int), 3,
|
GAPI_TEST_FIXTURE(Filter2DTest, initMatrixRandN, FIXTURE_API(CompareMats,cv::Size,int), 3,
|
||||||
cmpF, kernSize, borderType)
|
cmpF, filterSize, borderType)
|
||||||
GAPI_TEST_FIXTURE(BoxFilterTest, initMatrixRandN, FIXTURE_API(CompareMats,int,int), 3,
|
GAPI_TEST_FIXTURE(BoxFilterTest, initMatrixRandN, FIXTURE_API(CompareMats,int,int), 3,
|
||||||
cmpF, filterSize, borderType)
|
cmpF, filterSize, borderType)
|
||||||
GAPI_TEST_FIXTURE(SepFilterTest, initMatrixRandN, FIXTURE_API(CompareMats,int), 2, cmpF, kernSize)
|
GAPI_TEST_FIXTURE(SepFilterTest, initMatrixRandN, FIXTURE_API(CompareMats,int), 2, cmpF, kernSize)
|
||||||
|
|||||||
@ -57,9 +57,23 @@ TEST_P(Filter2DTest, AccuracyTest)
|
|||||||
cv::Point anchor = {-1, -1};
|
cv::Point anchor = {-1, -1};
|
||||||
double delta = 0;
|
double delta = 0;
|
||||||
|
|
||||||
cv::Mat kernel = cv::Mat(kernSize, kernSize, CV_32FC1);
|
cv::Mat kernel = cv::Mat(filterSize, CV_32FC1);
|
||||||
cv::Scalar kernMean = cv::Scalar(1.0);
|
cv::Scalar kernMean, kernStddev;
|
||||||
cv::Scalar kernStddev = cv::Scalar(2.0/3);
|
|
||||||
|
const auto kernSize = filterSize.width * filterSize.height;
|
||||||
|
const auto bigKernSize = 49;
|
||||||
|
|
||||||
|
if (kernSize < bigKernSize)
|
||||||
|
{
|
||||||
|
kernMean = cv::Scalar(0.3);
|
||||||
|
kernStddev = cv::Scalar(0.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
kernMean = cv::Scalar(0.008);
|
||||||
|
kernStddev = cv::Scalar(0.008);
|
||||||
|
}
|
||||||
|
|
||||||
randn(kernel, kernMean, kernStddev);
|
randn(kernel, kernMean, kernStddev);
|
||||||
|
|
||||||
// G-API code //////////////////////////////////////////////////////////////
|
// G-API code //////////////////////////////////////////////////////////////
|
||||||
@ -67,6 +81,7 @@ TEST_P(Filter2DTest, AccuracyTest)
|
|||||||
auto out = cv::gapi::filter2D(in, dtype, kernel, anchor, delta, borderType);
|
auto out = cv::gapi::filter2D(in, dtype, kernel, anchor, delta, borderType);
|
||||||
|
|
||||||
cv::GComputation c(in, out);
|
cv::GComputation c(in, out);
|
||||||
|
|
||||||
c.apply(in_mat1, out_mat_gapi, getCompileArgs());
|
c.apply(in_mat1, out_mat_gapi, getCompileArgs());
|
||||||
// OpenCV code /////////////////////////////////////////////////////////////
|
// OpenCV code /////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
|
|||||||
@ -26,7 +26,10 @@ INSTANTIATE_TEST_CASE_P(Filter2DTestCPU, Filter2DTest,
|
|||||||
Values(-1, CV_32F),
|
Values(-1, CV_32F),
|
||||||
Values(IMGPROC_CPU),
|
Values(IMGPROC_CPU),
|
||||||
Values(AbsExact().to_compare_obj()),
|
Values(AbsExact().to_compare_obj()),
|
||||||
Values(3, 4, 5, 7),
|
Values(cv::Size(3, 3),
|
||||||
|
cv::Size(4, 4),
|
||||||
|
cv::Size(5, 5),
|
||||||
|
cv::Size(7, 7)),
|
||||||
Values(cv::BORDER_DEFAULT)));
|
Values(cv::BORDER_DEFAULT)));
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(BoxFilterTestCPU, BoxFilterTest,
|
INSTANTIATE_TEST_CASE_P(BoxFilterTestCPU, BoxFilterTest,
|
||||||
|
|||||||
@ -214,7 +214,7 @@ INSTANTIATE_TEST_CASE_P(filter2DTestFluid, Filter2DTest,
|
|||||||
Values(-1, CV_32F),
|
Values(-1, CV_32F),
|
||||||
Values(IMGPROC_FLUID),
|
Values(IMGPROC_FLUID),
|
||||||
Values(ToleranceFilter(1e-4f, 0.01).to_compare_obj()),
|
Values(ToleranceFilter(1e-4f, 0.01).to_compare_obj()),
|
||||||
Values(3), // add kernel size=4,5,7 when implementation ready
|
Values(cv::Size(3, 3)), // add kernel size=4x4,5x5,7x7 when implementation ready
|
||||||
Values(cv::BORDER_DEFAULT)));
|
Values(cv::BORDER_DEFAULT)));
|
||||||
|
|
||||||
} // opencv_test
|
} // opencv_test
|
||||||
|
|||||||
@ -25,7 +25,10 @@ INSTANTIATE_TEST_CASE_P(Filter2DTestGPU, Filter2DTest,
|
|||||||
Values(-1, CV_32F),
|
Values(-1, CV_32F),
|
||||||
Values(IMGPROC_GPU),
|
Values(IMGPROC_GPU),
|
||||||
Values(Tolerance_FloatRel_IntAbs(1e-5, 2).to_compare_obj()),
|
Values(Tolerance_FloatRel_IntAbs(1e-5, 2).to_compare_obj()),
|
||||||
Values(3, 4, 5, 7),
|
Values(cv::Size(3, 3),
|
||||||
|
cv::Size(4, 4),
|
||||||
|
cv::Size(5, 5),
|
||||||
|
cv::Size(7, 7)),
|
||||||
Values(cv::BORDER_DEFAULT)));
|
Values(cv::BORDER_DEFAULT)));
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(BoxFilterTestCPU, BoxFilterTest,
|
INSTANTIATE_TEST_CASE_P(BoxFilterTestCPU, BoxFilterTest,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user