bioinspired: fix ocl test, skip them if OpenCL is not available
This commit is contained in:
parent
d0114b24e0
commit
91fc0c3bc3
@ -49,6 +49,8 @@
|
|||||||
#include "opencv2/imgproc.hpp"
|
#include "opencv2/imgproc.hpp"
|
||||||
#include "opencv2/highgui.hpp"
|
#include "opencv2/highgui.hpp"
|
||||||
|
|
||||||
|
#include "opencv2/core/ocl.hpp" // cv::ocl::haveOpenCL
|
||||||
|
|
||||||
#if defined(HAVE_OPENCV_OCL)
|
#if defined(HAVE_OPENCV_OCL)
|
||||||
|
|
||||||
#include "opencv2/ocl.hpp"
|
#include "opencv2/ocl.hpp"
|
||||||
@ -63,6 +65,7 @@ static double checkNear(const cv::Mat &m1, const cv::Mat &m2)
|
|||||||
#define GET_PARAM(k) std::tr1::get< k >(GetParam())
|
#define GET_PARAM(k) std::tr1::get< k >(GetParam())
|
||||||
|
|
||||||
static int oclInit = false;
|
static int oclInit = false;
|
||||||
|
static int oclAvailable = false;
|
||||||
|
|
||||||
PARAM_TEST_CASE(Retina_OCL, bool, int, bool, double, double)
|
PARAM_TEST_CASE(Retina_OCL, bool, int, bool, double, double)
|
||||||
{
|
{
|
||||||
@ -72,8 +75,6 @@ PARAM_TEST_CASE(Retina_OCL, bool, int, bool, double, double)
|
|||||||
double reductionFactor;
|
double reductionFactor;
|
||||||
double samplingStrength;
|
double samplingStrength;
|
||||||
|
|
||||||
cv::ocl::DevicesInfo infos;
|
|
||||||
|
|
||||||
virtual void SetUp()
|
virtual void SetUp()
|
||||||
{
|
{
|
||||||
colorMode = GET_PARAM(0);
|
colorMode = GET_PARAM(0);
|
||||||
@ -82,10 +83,21 @@ PARAM_TEST_CASE(Retina_OCL, bool, int, bool, double, double)
|
|||||||
reductionFactor = GET_PARAM(3);
|
reductionFactor = GET_PARAM(3);
|
||||||
samplingStrength = GET_PARAM(4);
|
samplingStrength = GET_PARAM(4);
|
||||||
|
|
||||||
if(!oclInit)
|
if (!oclInit)
|
||||||
{
|
{
|
||||||
cv::ocl::getOpenCLDevices(infos);
|
if (cv::ocl::haveOpenCL())
|
||||||
std::cout << "Device name:" << infos[0]->deviceName << std::endl;
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
const cv::ocl::DeviceInfo& dev = cv::ocl::Context::getContext()->getDeviceInfo();
|
||||||
|
std::cout << "Device name:" << dev.deviceName << std::endl;
|
||||||
|
oclAvailable = true;
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
std::cout << "Device name: N/A" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
oclInit = true;
|
oclInit = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -93,6 +105,12 @@ PARAM_TEST_CASE(Retina_OCL, bool, int, bool, double, double)
|
|||||||
|
|
||||||
TEST_P(Retina_OCL, Accuracy)
|
TEST_P(Retina_OCL, Accuracy)
|
||||||
{
|
{
|
||||||
|
if (!oclAvailable)
|
||||||
|
{
|
||||||
|
std::cout << "SKIP test" << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
Mat input = imread(cvtest::TS::ptr()->get_data_path() + "shared/lena.png", colorMode);
|
Mat input = imread(cvtest::TS::ptr()->get_data_path() + "shared/lena.png", colorMode);
|
||||||
CV_Assert(!input.empty());
|
CV_Assert(!input.empty());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user