Path: blob/master/modules/gapi/perf/cpu/gapi_imgproc_perf_tests_cpu.cpp
16358 views
// This file is part of OpenCV project.1// It is subject to the license terms in the LICENSE file found in the top-level directory2// of this distribution and at http://opencv.org/license.html.3//4// Copyright (C) 2018 Intel Corporation567#include "../perf_precomp.hpp"8#include "../common/gapi_imgproc_perf_tests.hpp"9#include "opencv2/gapi/cpu/imgproc.hpp"101112#define IMGPROC_CPU cv::gapi::imgproc::cpu::kernels()1314namespace opencv_test15{1617class AbsExact : public Wrappable<AbsExact>18{19public:20AbsExact() {}21bool operator() (const cv::Mat& in1, const cv::Mat& in2) const { return cv::countNonZero(in1 != in2) == 0; }22private:23};2425class AbsTolerance : public Wrappable<AbsTolerance>26{27public:28AbsTolerance(double tol) : _tol(tol) {}29bool operator() (const cv::Mat& in1, const cv::Mat& in2) const30{31cv::Mat absDiff; cv::absdiff(in1, in2, absDiff);32return cv::countNonZero(absDiff > _tol) == 0;33}34private:35double _tol;36};373839INSTANTIATE_TEST_CASE_P(SepFilterPerfTestCPU_8U, SepFilterPerfTest,40Combine(Values(AbsExact().to_compare_f()),41Values(CV_8UC1, CV_8UC3),42Values(3),43Values(szVGA, sz720p, sz1080p),44Values(-1, CV_16S, CV_32F),45Values(cv::compile_args(IMGPROC_CPU))));4647INSTANTIATE_TEST_CASE_P(SepFilterPerfTestCPU_other, SepFilterPerfTest,48Combine(Values(AbsExact().to_compare_f()),49Values(CV_16UC1, CV_16SC1, CV_32FC1),50Values(3),51Values(szVGA, sz720p, sz1080p),52Values(-1, CV_32F),53Values(cv::compile_args(IMGPROC_CPU))));54555657INSTANTIATE_TEST_CASE_P(Filter2DPerfTestCPU, Filter2DPerfTest,58Combine(Values(AbsExact().to_compare_f()),59Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),60Values(3, 4, 5, 7),61Values(szVGA, sz720p, sz1080p),62Values(cv::BORDER_DEFAULT),63Values(-1, CV_32F),64Values(cv::compile_args(IMGPROC_CPU))));6566INSTANTIATE_TEST_CASE_P(BoxFilterPerfTestCPU, BoxFilterPerfTest,67Combine(Values(AbsTolerance(1e-6).to_compare_f()),68Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),69Values(3, 5),70Values(szVGA, sz720p, sz1080p),71Values(cv::BORDER_DEFAULT),72Values(-1, CV_32F),73Values(cv::compile_args(IMGPROC_CPU))));7475INSTANTIATE_TEST_CASE_P(BlurPerfTestCPU, BlurPerfTest,76Combine(Values(AbsTolerance(1e-6).to_compare_f()),77Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),78Values(3, 5),79Values(szVGA, sz720p, sz1080p),80Values(cv::BORDER_DEFAULT),81Values(cv::compile_args(IMGPROC_CPU))));8283INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestCPU, GaussianBlurPerfTest,84Combine(Values(AbsExact().to_compare_f()),85Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),86Values(3, 5),87Values(szVGA, sz720p, sz1080p),88Values(cv::compile_args(IMGPROC_CPU))));8990INSTANTIATE_TEST_CASE_P(MedianBlurPerfTestCPU, MedianBlurPerfTest,91Combine(Values(AbsExact().to_compare_f()),92Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),93Values(3, 5),94Values(szVGA, sz720p, sz1080p),95Values(cv::compile_args(IMGPROC_CPU))));9697INSTANTIATE_TEST_CASE_P(ErodePerfTestCPU, ErodePerfTest,98Combine(Values(AbsExact().to_compare_f()),99Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),100Values(3, 5),101Values(szVGA, sz720p, sz1080p),102Values(cv::MorphShapes::MORPH_RECT,103cv::MorphShapes::MORPH_CROSS,104cv::MorphShapes::MORPH_ELLIPSE),105Values(cv::compile_args(IMGPROC_CPU))));106107INSTANTIATE_TEST_CASE_P(Erode3x3PerfTestCPU, Erode3x3PerfTest,108Combine(Values(AbsExact().to_compare_f()),109Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),110Values(szVGA, sz720p, sz1080p),111Values(1, 2, 4),112Values(cv::compile_args(IMGPROC_CPU))));113114INSTANTIATE_TEST_CASE_P(DilatePerfTestCPU, DilatePerfTest,115Combine(Values(AbsExact().to_compare_f()),116Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),117Values(3, 5),118Values(szVGA, sz720p, sz1080p),119Values(cv::MorphShapes::MORPH_RECT,120cv::MorphShapes::MORPH_CROSS,121cv::MorphShapes::MORPH_ELLIPSE),122Values(cv::compile_args(IMGPROC_CPU))));123124INSTANTIATE_TEST_CASE_P(Dilate3x3PerfTestCPU, Dilate3x3PerfTest,125Combine(Values(AbsExact().to_compare_f()),126Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),127Values(szVGA, sz720p, sz1080p),128Values(1, 2, 4),129Values(cv::compile_args(IMGPROC_CPU))));130131INSTANTIATE_TEST_CASE_P(SobelPerfTestCPU, SobelPerfTest,132Combine(Values(AbsExact().to_compare_f()),133Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),134Values(3, 5),135Values(szVGA, sz720p, sz1080p),136Values(-1, CV_32F),137Values(0, 1),138Values(1, 2),139Values(cv::compile_args(IMGPROC_CPU))));140141INSTANTIATE_TEST_CASE_P(CannyPerfTestCPU, CannyPerfTest,142Combine(Values(AbsExact().to_compare_f()),143Values(CV_8UC1, CV_8UC3),144Values(szVGA, sz720p, sz1080p),145Values(3.0, 120.0),146Values(125.0, 240.0),147Values(3, 5),148Values(true, false),149Values(cv::compile_args(IMGPROC_CPU))));150151INSTANTIATE_TEST_CASE_P(EqHistPerfTestCPU, EqHistPerfTest,152Combine(Values(AbsExact().to_compare_f()),153Values(szVGA, sz720p, sz1080p),154Values(cv::compile_args(IMGPROC_CPU))));155156INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestCPU, RGB2GrayPerfTest,157Combine(Values(AbsExact().to_compare_f()),158Values(szVGA, sz720p, sz1080p),159Values(cv::compile_args(IMGPROC_CPU))));160161INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestCPU, BGR2GrayPerfTest,162Combine(Values(AbsExact().to_compare_f()),163Values(szVGA, sz720p, sz1080p),164Values(cv::compile_args(IMGPROC_CPU))));165166INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestCPU, RGB2YUVPerfTest,167Combine(Values(AbsExact().to_compare_f()),168Values(szVGA, sz720p, sz1080p),169Values(cv::compile_args(IMGPROC_CPU))));170171INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestCPU, YUV2RGBPerfTest,172Combine(Values(AbsExact().to_compare_f()),173Values(szVGA, sz720p, sz1080p),174Values(cv::compile_args(IMGPROC_CPU))));175176INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestCPU, RGB2LabPerfTest,177Combine(Values(AbsExact().to_compare_f()),178Values(szVGA, sz720p, sz1080p),179Values(cv::compile_args(IMGPROC_CPU))));180181INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestCPU, BGR2LUVPerfTest,182Combine(Values(AbsExact().to_compare_f()),183Values(szVGA, sz720p, sz1080p),184Values(cv::compile_args(IMGPROC_CPU))));185186INSTANTIATE_TEST_CASE_P(LUV2BGRPerfTestCPU, LUV2BGRPerfTest,187Combine(Values(AbsExact().to_compare_f()),188Values(szVGA, sz720p, sz1080p),189Values(cv::compile_args(IMGPROC_CPU))));190191INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestCPU, BGR2YUVPerfTest,192Combine(Values(AbsExact().to_compare_f()),193Values(szVGA, sz720p, sz1080p),194Values(cv::compile_args(IMGPROC_CPU))));195196INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestCPU, YUV2BGRPerfTest,197Combine(Values(AbsExact().to_compare_f()),198Values(szVGA, sz720p, sz1080p),199Values(cv::compile_args(IMGPROC_CPU))));200201}202203204