Merge pull request #7135 from lupustr3:pvlasov/icv_restrictions_remove

pull/7142/head
Alexander Alekhin 9 years ago
commit bf4c5bef7f
  1. 11
      modules/core/include/opencv2/core/private.hpp
  2. 2
      modules/core/src/copy.cpp
  3. 8
      modules/core/src/stat.cpp
  4. 2
      modules/imgproc/perf/perf_houghLines.cpp
  5. 2
      modules/imgproc/src/color.cpp
  6. 5
      modules/imgproc/src/deriv.cpp
  7. 4
      modules/imgproc/src/filter.cpp
  8. 4
      modules/imgproc/src/hough.cpp
  9. 4
      modules/imgproc/src/imgwarp.cpp
  10. 7
      modules/imgproc/src/smooth.cpp
  11. 2
      modules/imgproc/src/sumpixels.cpp
  12. 16
      modules/imgproc/src/thresh.cpp
  13. 2
      modules/imgproc/test/test_houghLines.cpp

@ -288,17 +288,6 @@ private:
#define IPP_VERSION_X100 0 #define IPP_VERSION_X100 0
#endif #endif
// There shoud be no API difference in OpenCV between ICV and IPP since 9.0
#if (defined HAVE_IPP_ICV_ONLY) && IPP_VERSION_X100 >= 900
#undef HAVE_IPP_ICV_ONLY
#endif
#ifdef HAVE_IPP_ICV_ONLY
#define HAVE_ICV 1
#else
#define HAVE_ICV 0
#endif
#if defined HAVE_IPP #if defined HAVE_IPP
#if IPP_VERSION_X100 >= 900 #if IPP_VERSION_X100 >= 900
#define IPP_INITIALIZER(FEAT) \ #define IPP_INITIALIZER(FEAT) \

@ -375,7 +375,7 @@ Mat& Mat::operator = (const Scalar& s)
if( is[0] == 0 && is[1] == 0 && is[2] == 0 && is[3] == 0 ) if( is[0] == 0 && is[1] == 0 && is[2] == 0 && is[3] == 0 )
{ {
#if defined HAVE_IPP && !defined HAVE_IPP_ICV_ONLY && IPP_DISABLE_BLOCK #if defined HAVE_IPP && IPP_DISABLE_BLOCK
CV_IPP_CHECK() CV_IPP_CHECK()
{ {
if (dims <= 2 || isContinuous()) if (dims <= 2 || isContinuous())

@ -1299,7 +1299,6 @@ namespace cv {
static bool ipp_countNonZero( Mat &src, int &res ) static bool ipp_countNonZero( Mat &src, int &res )
{ {
#if !defined HAVE_IPP_ICV_ONLY
Ipp32s count = 0; Ipp32s count = 0;
IppStatus status = ippStsNoErr; IppStatus status = ippStsNoErr;
@ -1323,9 +1322,6 @@ static bool ipp_countNonZero( Mat &src, int &res )
res = ((Ipp32s)src.total() - count); res = ((Ipp32s)src.total() - count);
return true; return true;
} }
#else
CV_UNUSED(src); CV_UNUSED(res);
#endif
return false; return false;
} }
} }
@ -2282,10 +2278,10 @@ static bool ipp_minMaxIdx( Mat &src, double* minVal, double* maxVal, int* minIdx
depth == CV_8S ? (ippiMinMaxIndxFuncC1)ippiMinMaxIndx_8s_C1R : depth == CV_8S ? (ippiMinMaxIndxFuncC1)ippiMinMaxIndx_8s_C1R :
#endif #endif
depth == CV_16U ? (ippiMinMaxIndxFuncC1)ippiMinMaxIndx_16u_C1R : depth == CV_16U ? (ippiMinMaxIndxFuncC1)ippiMinMaxIndx_16u_C1R :
#if !((defined _MSC_VER && defined _M_IX86) || defined __i386__) #if IPP_DISABLE_BLOCK && !((defined _MSC_VER && defined _M_IX86) || defined __i386__)
// See bug #4955: the function fails with SEGFAULT when the source matrix contains NANs // See bug #4955: the function fails with SEGFAULT when the source matrix contains NANs
// IPPICV version is 9.0.1. // IPPICV version is 9.0.1.
// depth == CV_32F ? (ippiMinMaxIndxFuncC1)ippiMinMaxIndx_32f_C1R : depth == CV_32F ? (ippiMinMaxIndxFuncC1)ippiMinMaxIndx_32f_C1R :
#endif #endif
0; 0;
CV_SUPPRESS_DEPRECATED_END CV_SUPPRESS_DEPRECATED_END

@ -37,7 +37,7 @@ PERF_TEST_P(Image_RhoStep_ThetaStep_Threshold, HoughLines,
TEST_CYCLE() HoughLines(image, lines, rhoStep, thetaStep, threshold); TEST_CYCLE() HoughLines(image, lines, rhoStep, thetaStep, threshold);
transpose(lines, lines); transpose(lines, lines);
#if (0 && defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY) && IPP_VERSION_X100 >= 810) #if (0 && defined(HAVE_IPP) && IPP_VERSION_X100 >= 810)
SANITY_CHECK_NOTHING(); SANITY_CHECK_NOTHING();
#else #else
SANITY_CHECK(lines); SANITY_CHECK(lines);

@ -393,7 +393,7 @@ static ippiGeneralFunc ippiHLS2RGBTab[] =
0, (ippiGeneralFunc)ippiHLSToRGB_32f_C3R, 0, 0 0, (ippiGeneralFunc)ippiHLSToRGB_32f_C3R, 0, 0
}; };
#if !defined(HAVE_IPP_ICV_ONLY) && IPP_DISABLE_BLOCK #if IPP_DISABLE_BLOCK
static ippiGeneralFunc ippiRGBToLUVTab[] = static ippiGeneralFunc ippiRGBToLUVTab[] =
{ {
(ippiGeneralFunc)ippiRGBToLUV_8u_C3R, 0, (ippiGeneralFunc)ippiRGBToLUV_16u_C3R, 0, (ippiGeneralFunc)ippiRGBToLUV_8u_C3R, 0, (ippiGeneralFunc)ippiRGBToLUV_16u_C3R, 0,

@ -359,7 +359,6 @@ static bool IPPDerivSobel(InputArray _src, OutputArray _dst, int ddepth, int dx,
return true; return true;
} }
#if !defined(HAVE_IPP_ICV_ONLY)
if ((dx == 2) && (dy == 0)) if ((dx == 2) && (dy == 0))
{ {
#if IPP_VERSION_X100 >= 900 #if IPP_VERSION_X100 >= 900
@ -397,7 +396,6 @@ static bool IPPDerivSobel(InputArray _src, OutputArray _dst, int ddepth, int dx,
return false; return false;
return true; return true;
} }
#endif
} }
if (src.type() == CV_32F && dst.type() == CV_32F) if (src.type() == CV_32F && dst.type() == CV_32F)
@ -445,7 +443,7 @@ static bool IPPDerivSobel(InputArray _src, OutputArray _dst, int ddepth, int dx,
return true; return true;
} }
#endif #endif
#if !defined(HAVE_IPP_ICV_ONLY)
if((dx == 2) && (dy == 0)) if((dx == 2) && (dy == 0))
{ {
#if IPP_VERSION_X100 >= 900 #if IPP_VERSION_X100 >= 900
@ -488,7 +486,6 @@ static bool IPPDerivSobel(InputArray _src, OutputArray _dst, int ddepth, int dx,
ippiMulC_32f_C1R(dst.ptr<Ipp32f>(), (int)dst.step, (Ipp32f)scale, dst.ptr<Ipp32f>(), (int)dst.step, ippiSize(dst.cols*dst.channels(), dst.rows)); ippiMulC_32f_C1R(dst.ptr<Ipp32f>(), (int)dst.step, (Ipp32f)scale, dst.ptr<Ipp32f>(), (int)dst.step, ippiSize(dst.cols*dst.channels(), dst.rows));
return true; return true;
} }
#endif
} }
return false; return false;
} }

@ -4540,7 +4540,6 @@ struct ReplacementFilter : public hal::Filter2D
}; };
#ifdef HAVE_IPP #ifdef HAVE_IPP
#if !HAVE_ICV
typedef IppStatus(CV_STDCALL* ippiFilterBorder)( typedef IppStatus(CV_STDCALL* ippiFilterBorder)(
const void* pSrc, int srcStep, void* pDst, int dstStep, const void* pSrc, int srcStep, void* pDst, int dstStep,
IppiSize dstRoiSize, IppiBorderType border, const void* borderValue, IppiSize dstRoiSize, IppiBorderType border, const void* borderValue,
@ -4702,7 +4701,6 @@ struct IppFilter : public hal::Filter2D
} }
}; };
#endif #endif
#endif
struct DftFilter : public hal::Filter2D struct DftFilter : public hal::Filter2D
{ {
@ -4907,7 +4905,6 @@ Ptr<hal::Filter2D> Filter2D::create(uchar* kernel_data, size_t kernel_step, int
} }
#ifdef HAVE_IPP #ifdef HAVE_IPP
#if !HAVE_ICV
if (kernel_type == CV_32FC1) { if (kernel_type == CV_32FC1) {
IppFilter<CV_32F>* impl = new IppFilter<CV_32F>(); IppFilter<CV_32F>* impl = new IppFilter<CV_32F>();
if (impl->init(kernel_data, kernel_step, kernel_type, kernel_width, kernel_height, if (impl->init(kernel_data, kernel_step, kernel_type, kernel_width, kernel_height,
@ -4929,7 +4926,6 @@ Ptr<hal::Filter2D> Filter2D::create(uchar* kernel_data, size_t kernel_step, int
} }
delete impl; delete impl;
} }
#endif
#endif #endif
if (DftFilter::isAppropriate(stype, dtype, kernel_width, kernel_height)) if (DftFilter::isAppropriate(stype, dtype, kernel_width, kernel_height))

@ -96,7 +96,7 @@ HoughLinesStandard( const Mat& img, float rho, float theta,
int numangle = cvRound((max_theta - min_theta) / theta); int numangle = cvRound((max_theta - min_theta) / theta);
int numrho = cvRound(((width + height) * 2 + 1) / rho); int numrho = cvRound(((width + height) * 2 + 1) / rho);
#if defined HAVE_IPP && !defined(HAVE_IPP_ICV_ONLY) && IPP_VERSION_X100 >= 810 && IPP_DISABLE_BLOCK #if defined HAVE_IPP && IPP_VERSION_X100 >= 810 && IPP_DISABLE_BLOCK
CV_IPP_CHECK() CV_IPP_CHECK()
{ {
IppiSize srcSize = { width, height }; IppiSize srcSize = { width, height };
@ -429,7 +429,7 @@ HoughLinesProbabilistic( Mat& image,
int numangle = cvRound(CV_PI / theta); int numangle = cvRound(CV_PI / theta);
int numrho = cvRound(((width + height) * 2 + 1) / rho); int numrho = cvRound(((width + height) * 2 + 1) / rho);
#if defined HAVE_IPP && !defined(HAVE_IPP_ICV_ONLY) && IPP_VERSION_X100 >= 810 && IPP_DISABLE_BLOCK #if defined HAVE_IPP && IPP_VERSION_X100 >= 810 && IPP_DISABLE_BLOCK
CV_IPP_CHECK() CV_IPP_CHECK()
{ {
IppiSize srcSize = { width, height }; IppiSize srcSize = { width, height };

@ -4740,7 +4740,7 @@ static bool ocl_logPolar(InputArray _src, OutputArray _dst,
} }
#endif #endif
#if defined HAVE_IPP && !defined HAVE_IPP_ICV_ONLY && IPP_DISABLE_BLOCK #if defined HAVE_IPP && IPP_DISABLE_BLOCK
typedef IppStatus (CV_STDCALL * ippiRemap)(const void * pSrc, IppiSize srcSize, int srcStep, IppiRect srcRoi, typedef IppStatus (CV_STDCALL * ippiRemap)(const void * pSrc, IppiSize srcSize, int srcStep, IppiRect srcRoi,
const Ipp32f* pxMap, int xMapStep, const Ipp32f* pyMap, int yMapStep, const Ipp32f* pxMap, int xMapStep, const Ipp32f* pyMap, int yMapStep,
@ -4848,7 +4848,7 @@ void cv::remap( InputArray _src, OutputArray _dst,
int type = src.type(), depth = CV_MAT_DEPTH(type); int type = src.type(), depth = CV_MAT_DEPTH(type);
#if defined HAVE_IPP && !defined HAVE_IPP_ICV_ONLY && IPP_DISABLE_BLOCK #if defined HAVE_IPP && IPP_DISABLE_BLOCK
CV_IPP_CHECK() CV_IPP_CHECK()
{ {
if ((interpolation == INTER_LINEAR || interpolation == INTER_CUBIC || interpolation == INTER_NEAREST) && if ((interpolation == INTER_LINEAR || interpolation == INTER_CUBIC || interpolation == INTER_NEAREST) &&

@ -1783,7 +1783,6 @@ static bool ipp_GaussianBlur( InputArray _src, OutputArray _dst, Size ksize,
} }
IppStatus status = ippStsErr; IppStatus status = ippStsErr;
#if !HAVE_ICV
#if IPP_VERSION_X100 > 900 // Buffer overflow may happen in IPP 9.0.0 and less #if IPP_VERSION_X100 > 900 // Buffer overflow may happen in IPP 9.0.0 and less
if (type == CV_8UC1) if (type == CV_8UC1)
IPP_FILTER_GAUSS_C1(8u) IPP_FILTER_GAUSS_C1(8u)
@ -1801,9 +1800,7 @@ static bool ipp_GaussianBlur( InputArray _src, OutputArray _dst, Size ksize,
IPP_FILTER_GAUSS_CN(16s, 3) IPP_FILTER_GAUSS_CN(16s, 3)
else if (type == CV_32FC3) else if (type == CV_32FC3)
IPP_FILTER_GAUSS_CN(32f, 3) IPP_FILTER_GAUSS_CN(32f, 3)
else else if (type == CV_32FC1)
#endif
if (type == CV_32FC1)
IPP_FILTER_GAUSS_C1(32f) IPP_FILTER_GAUSS_C1(32f)
if(status >= 0) if(status >= 0)
@ -3060,7 +3057,7 @@ private:
float *space_weight, *color_weight; float *space_weight, *color_weight;
}; };
#if defined (HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY) && IPP_DISABLE_BLOCK #if defined (HAVE_IPP) && IPP_DISABLE_BLOCK
class IPPBilateralFilter_8u_Invoker : class IPPBilateralFilter_8u_Invoker :
public ParallelLoopBody public ParallelLoopBody
{ {

@ -425,7 +425,7 @@ namespace cv
{ {
static bool ipp_integral(InputArray _src, OutputArray _sum, OutputArray _sqsum, OutputArray _tilted, int sdepth, int sqdepth) static bool ipp_integral(InputArray _src, OutputArray _sum, OutputArray _sqsum, OutputArray _tilted, int sdepth, int sqdepth)
{ {
#if !defined(HAVE_IPP_ICV_ONLY) && (IPP_VERSION_X100 != 900) // Disabled on ICV due invalid results #if IPP_VERSION_X100 != 900 // Disabled on ICV due invalid results
int type = _src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type); int type = _src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
if( sdepth <= 0 ) if( sdepth <= 0 )
sdepth = depth == CV_8U ? CV_32S : CV_64F; sdepth = depth == CV_8U ? CV_32S : CV_64F;

@ -91,13 +91,11 @@ thresh_8u( const Mat& _src, Mat& _dst, uchar thresh, uchar maxval, int type )
switch( type ) switch( type )
{ {
case THRESH_TRUNC: case THRESH_TRUNC:
#ifndef HAVE_IPP_ICV_ONLY
if (_src.data == _dst.data && ippiThreshold_GT_8u_C1IR(_dst.ptr(), (int)dst_step, sz, thresh) >= 0) if (_src.data == _dst.data && ippiThreshold_GT_8u_C1IR(_dst.ptr(), (int)dst_step, sz, thresh) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
return; return;
} }
#endif
if (ippiThreshold_GT_8u_C1R(_src.ptr(), (int)src_step, _dst.ptr(), (int)dst_step, sz, thresh) >= 0) if (ippiThreshold_GT_8u_C1R(_src.ptr(), (int)src_step, _dst.ptr(), (int)dst_step, sz, thresh) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
@ -106,13 +104,11 @@ thresh_8u( const Mat& _src, Mat& _dst, uchar thresh, uchar maxval, int type )
setIppErrorStatus(); setIppErrorStatus();
break; break;
case THRESH_TOZERO: case THRESH_TOZERO:
#ifndef HAVE_IPP_ICV_ONLY
if (_src.data == _dst.data && ippiThreshold_LTVal_8u_C1IR(_dst.ptr(), (int)dst_step, sz, thresh+1, 0) >= 0) if (_src.data == _dst.data && ippiThreshold_LTVal_8u_C1IR(_dst.ptr(), (int)dst_step, sz, thresh+1, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
return; return;
} }
#endif
if (ippiThreshold_LTVal_8u_C1R(_src.ptr(), (int)src_step, _dst.ptr(), (int)dst_step, sz, thresh+1, 0) >= 0) if (ippiThreshold_LTVal_8u_C1R(_src.ptr(), (int)src_step, _dst.ptr(), (int)dst_step, sz, thresh+1, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
@ -121,13 +117,11 @@ thresh_8u( const Mat& _src, Mat& _dst, uchar thresh, uchar maxval, int type )
setIppErrorStatus(); setIppErrorStatus();
break; break;
case THRESH_TOZERO_INV: case THRESH_TOZERO_INV:
#ifndef HAVE_IPP_ICV_ONLY
if (_src.data == _dst.data && ippiThreshold_GTVal_8u_C1IR(_dst.ptr(), (int)dst_step, sz, thresh, 0) >= 0) if (_src.data == _dst.data && ippiThreshold_GTVal_8u_C1IR(_dst.ptr(), (int)dst_step, sz, thresh, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
return; return;
} }
#endif
if (ippiThreshold_GTVal_8u_C1R(_src.ptr(), (int)src_step, _dst.ptr(), (int)dst_step, sz, thresh, 0) >= 0) if (ippiThreshold_GTVal_8u_C1R(_src.ptr(), (int)src_step, _dst.ptr(), (int)dst_step, sz, thresh, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
@ -434,13 +428,11 @@ thresh_16s( const Mat& _src, Mat& _dst, short thresh, short maxval, int type )
switch( type ) switch( type )
{ {
case THRESH_TRUNC: case THRESH_TRUNC:
#ifndef HAVE_IPP_ICV_ONLY
if (_src.data == _dst.data && ippiThreshold_GT_16s_C1IR(dst, (int)dst_step*sizeof(dst[0]), sz, thresh) >= 0) if (_src.data == _dst.data && ippiThreshold_GT_16s_C1IR(dst, (int)dst_step*sizeof(dst[0]), sz, thresh) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
return; return;
} }
#endif
if (ippiThreshold_GT_16s_C1R(src, (int)src_step*sizeof(src[0]), dst, (int)dst_step*sizeof(dst[0]), sz, thresh) >= 0) if (ippiThreshold_GT_16s_C1R(src, (int)src_step*sizeof(src[0]), dst, (int)dst_step*sizeof(dst[0]), sz, thresh) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
@ -449,13 +441,11 @@ thresh_16s( const Mat& _src, Mat& _dst, short thresh, short maxval, int type )
setIppErrorStatus(); setIppErrorStatus();
break; break;
case THRESH_TOZERO: case THRESH_TOZERO:
#ifndef HAVE_IPP_ICV_ONLY
if (_src.data == _dst.data && ippiThreshold_LTVal_16s_C1IR(dst, (int)dst_step*sizeof(dst[0]), sz, thresh + 1, 0) >= 0) if (_src.data == _dst.data && ippiThreshold_LTVal_16s_C1IR(dst, (int)dst_step*sizeof(dst[0]), sz, thresh + 1, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
return; return;
} }
#endif
if (ippiThreshold_LTVal_16s_C1R(src, (int)src_step*sizeof(src[0]), dst, (int)dst_step*sizeof(dst[0]), sz, thresh+1, 0) >= 0) if (ippiThreshold_LTVal_16s_C1R(src, (int)src_step*sizeof(src[0]), dst, (int)dst_step*sizeof(dst[0]), sz, thresh+1, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
@ -464,13 +454,11 @@ thresh_16s( const Mat& _src, Mat& _dst, short thresh, short maxval, int type )
setIppErrorStatus(); setIppErrorStatus();
break; break;
case THRESH_TOZERO_INV: case THRESH_TOZERO_INV:
#ifndef HAVE_IPP_ICV_ONLY
if (_src.data == _dst.data && ippiThreshold_GTVal_16s_C1IR(dst, (int)dst_step*sizeof(dst[0]), sz, thresh, 0) >= 0) if (_src.data == _dst.data && ippiThreshold_GTVal_16s_C1IR(dst, (int)dst_step*sizeof(dst[0]), sz, thresh, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
return; return;
} }
#endif
if (ippiThreshold_GTVal_16s_C1R(src, (int)src_step*sizeof(src[0]), dst, (int)dst_step*sizeof(dst[0]), sz, thresh, 0) >= 0) if (ippiThreshold_GTVal_16s_C1R(src, (int)src_step*sizeof(src[0]), dst, (int)dst_step*sizeof(dst[0]), sz, thresh, 0) >= 0)
{ {
CV_IMPL_ADD(CV_IMPL_IPP); CV_IMPL_ADD(CV_IMPL_IPP);
@ -1188,7 +1176,7 @@ thresh_64f(const Mat& _src, Mat& _dst, double thresh, double maxval, int type)
#ifdef HAVE_IPP #ifdef HAVE_IPP
static bool ipp_getThreshVal_Otsu_8u( const unsigned char* _src, int step, Size size, unsigned char &thresh) static bool ipp_getThreshVal_Otsu_8u( const unsigned char* _src, int step, Size size, unsigned char &thresh)
{ {
#if IPP_VERSION_X100 >= 810 && !HAVE_ICV #if IPP_VERSION_X100 >= 810
int ippStatus = -1; int ippStatus = -1;
IppiSize srcSize = { size.width, size.height }; IppiSize srcSize = { size.width, size.height };
CV_SUPPRESS_DEPRECATED_START CV_SUPPRESS_DEPRECATED_START
@ -1218,7 +1206,7 @@ getThreshVal_Otsu_8u( const Mat& _src )
#ifdef HAVE_IPP #ifdef HAVE_IPP
unsigned char thresh; unsigned char thresh;
CV_IPP_RUN(IPP_VERSION_X100 >= 810 && !HAVE_ICV, ipp_getThreshVal_Otsu_8u(_src.ptr(), step, size, thresh), thresh); CV_IPP_RUN(IPP_VERSION_X100 >= 810, ipp_getThreshVal_Otsu_8u(_src.ptr(), step, size, thresh), thresh);
#endif #endif
const int N = 256; const int N = 256;

@ -189,7 +189,7 @@ void BaseHoughLineTest::run_test(int type)
else if (type == PROBABILISTIC) else if (type == PROBABILISTIC)
count = countMatIntersection<Vec4i>(exp_lines, lines, 1e-4f, 0.f); count = countMatIntersection<Vec4i>(exp_lines, lines, 1e-4f, 0.f);
#if defined HAVE_IPP && !defined(HAVE_IPP_ICV_ONLY) && IPP_VERSION_X100 >= 810 && IPP_DISABLE_BLOCK #if defined HAVE_IPP && IPP_VERSION_X100 >= 810 && IPP_DISABLE_BLOCK
EXPECT_GE( count, (int) (exp_lines.total() * 0.8) ); EXPECT_GE( count, (int) (exp_lines.total() * 0.8) );
#else #else
EXPECT_EQ( count, (int) exp_lines.total()); EXPECT_EQ( count, (int) exp_lines.total());

Loading…
Cancel
Save