Merge pull request #3366 from jet47:fix-gpu-cuda-7.0

This commit is contained in:
Vadim Pisarevsky 2014-10-26 17:41:14 +00:00
commit 0c2ccd3bae
6 changed files with 435 additions and 185 deletions

File diff suppressed because one or more lines are too long

View File

@ -1413,7 +1413,7 @@ PERF_TEST_P(Sz_Depth_Code, ImgProc_CvtColor,
TEST_CYCLE() cv::gpu::cvtColor(d_src, dst, info.code, info.dcn);
GPU_SANITY_CHECK(dst, 1e-4);
GPU_SANITY_CHECK(dst, 1e-2);
}
else
{
@ -1609,7 +1609,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidBuild,
cv::gpu::GpuMat dst;
d_pyr.getLayer(dst, dstSize);
GPU_SANITY_CHECK(dst);
GPU_SANITY_CHECK(dst, 1e-3);
}
else
{
@ -1646,7 +1646,7 @@ PERF_TEST_P(Sz_Depth_Cn, ImgProc_ImagePyramidGetLayer,
TEST_CYCLE() d_pyr.getLayer(dst, dstSize);
GPU_SANITY_CHECK(dst);
GPU_SANITY_CHECK(dst, 1e-3);
}
else
{

View File

@ -143,7 +143,7 @@ PERF_TEST_P(ImagePair, Video_CreateOpticalFlowNeedleMap,
TEST_CYCLE() cv::gpu::createOpticalFlowNeedleMap(u, v, vertex, colors);
GPU_SANITY_CHECK(vertex, 1e-6);
GPU_SANITY_CHECK(vertex, 1e-5);
GPU_SANITY_CHECK(colors);
}
else

View File

@ -103,16 +103,22 @@ namespace cv { namespace gpu { namespace device
{
static __device__ __forceinline__ float compute(const uchar* left, const uchar* right)
{
return fmin(cdata_weight * ::abs((int)*left - *right), cdata_weight * cmax_data_term);
int l = *(left);
int r = *(right);
return fmin(cdata_weight * ::abs(l - r), cdata_weight * cmax_data_term);
}
};
template <> struct DataCostPerPixel<3>
{
static __device__ __forceinline__ float compute(const uchar* left, const uchar* right)
{
float tb = 0.114f * ::abs((int)left[0] - right[0]);
float tg = 0.587f * ::abs((int)left[1] - right[1]);
float tr = 0.299f * ::abs((int)left[2] - right[2]);
uchar3 l = *((const uchar3*)left);
uchar3 r = *((const uchar3*)right);
float tb = 0.114f * ::abs((int)l.x - r.x);
float tg = 0.587f * ::abs((int)l.y - r.y);
float tr = 0.299f * ::abs((int)l.z - r.z);
return fmin(cdata_weight * (tr + tg + tb), cdata_weight * cmax_data_term);
}

View File

@ -158,7 +158,7 @@ GPU_TEST_P(StereoConstantSpaceBP, Regression)
cv::Mat h_disp(disp);
h_disp.convertTo(h_disp, disp_gold.depth());
EXPECT_MAT_NEAR(disp_gold, h_disp, 1.0);
EXPECT_MAT_SIMILAR(disp_gold, h_disp, 1e-4);
}
INSTANTIATE_TEST_CASE_P(GPU_Calib3D, StereoConstantSpaceBP, ALL_DEVICES);

View File

@ -134,8 +134,8 @@ GPU_TEST_P(BruteForceNonLocalMeans, Regression)
cv::resize(bgr_gold, bgr_gold, cv::Size(256, 256));
cv::resize(gray_gold, gray_gold, cv::Size(256, 256));
EXPECT_MAT_NEAR(bgr_gold, dbgr, 1e-4);
EXPECT_MAT_NEAR(gray_gold, dgray, 1e-4);
EXPECT_MAT_NEAR(bgr_gold, dbgr, 1);
EXPECT_MAT_NEAR(gray_gold, dgray, 1);
}
INSTANTIATE_TEST_CASE_P(GPU_Denoising, BruteForceNonLocalMeans, ALL_DEVICES);