Path: blob/master/modules/calib3d/perf/opencl/perf_stereobm.cpp
16338 views
/*M///////////////////////////////////////////////////////////////////////////////////////1//2// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.3//4// By downloading, copying, installing or using the software you agree to this license.5// If you do not agree to this license, do not download, install,6// copy or use the software.7//8//9// License Agreement10// For Open Source Computer Vision Library11//12// Copyright (C) 2010-2012, Multicoreware, Inc., all rights reserved.13// Copyright (C) 2010-2012, Advanced Micro Devices, Inc., all rights reserved.14// Third party copyrights are property of their respective owners.15//16// Redistribution and use in source and binary forms, with or without modification,17// are permitted provided that the following conditions are met:18//19// * Redistribution's of source code must retain the above copyright notice,20// this list of conditions and the following disclaimer.21//22// * Redistribution's in binary form must reproduce the above copyright notice,23// this list of conditions and the following disclaimer in the documentation24// and/or other materials provided with the distribution.25//26// * The name of the copyright holders may not be used to endorse or promote products27// derived from this software without specific prior written permission.28//29// This software is provided by the copyright holders and contributors as is and30// any express or implied warranties, including, but not limited to, the implied31// warranties of merchantability and fitness for a particular purpose are disclaimed.32// In no event shall the Intel Corporation or contributors be liable for any direct,33// indirect, incidental, special, exemplary, or consequential damages34// (including, but not limited to, procurement of substitute goods or services;35// loss of use, data, or profits; or business interruption) however caused36// and on any theory of liability, whether in contract, strict liability,37// or tort (including negligence or otherwise) arising in any way out of38// the use of this software, even if advised of the possibility of such damage.39//40//M*/4142#include "../perf_precomp.hpp"43#include "opencv2/ts/ocl_perf.hpp"4445#ifdef HAVE_OPENCL4647namespace opencv_test {48namespace ocl {4950typedef tuple<int, int> StereoBMFixture_t;51typedef TestBaseWithParam<StereoBMFixture_t> StereoBMFixture;5253OCL_PERF_TEST_P(StereoBMFixture, StereoBM, ::testing::Combine(OCL_PERF_ENUM(32, 64, 128), OCL_PERF_ENUM(11,21) ) )54{55const int n_disp = get<0>(GetParam()), winSize = get<1>(GetParam());56UMat left, right, disp;5758imread(getDataPath("gpu/stereobm/aloe-L.png"), IMREAD_GRAYSCALE).copyTo(left);59imread(getDataPath("gpu/stereobm/aloe-R.png"), IMREAD_GRAYSCALE).copyTo(right);60ASSERT_FALSE(left.empty());61ASSERT_FALSE(right.empty());6263declare.in(left, right);6465Ptr<StereoBM> bm = StereoBM::create( n_disp, winSize );66bm->setPreFilterType(bm->PREFILTER_XSOBEL);67bm->setTextureThreshold(0);6869OCL_TEST_CYCLE() bm->compute(left, right, disp);7071SANITY_CHECK(disp, 1e-3, ERROR_RELATIVE);72}7374}//ocl75}//cvtest76#endif777879