The MinEigenVal path through the corner.cl kernel makes use of native_sqrt,
a math builtin function which has implementation defined accuracy.
Partially addresses issue #9821
OCL_OFF(cv::cornerMinEigenVal(src_roi, dst_roi, blockSize, apertureSize, borderType));
OCL_ON(cv::cornerMinEigenVal(usrc_roi, udst_roi, blockSize, apertureSize, borderType));
- Near(1e-5, true);
+ if (ocl::Device::getDefault().isIntel())
+ Near(1e-5, true);
+ else
+ Near(0.1, true); // using native_* OpenCL functions may lose accuracy
}
}