\r
#else /* !defined (HAVE_CUDA) */\r
\r
-namespace cv { namespace gpu { namespace color \r
+namespace cv { namespace gpu { namespace device \r
{\r
#define OPENCV_GPU_DECLARE_CVTCOLOR_ONE(name) \\r
void name(const DevMem2D& src, const DevMem2D& dst, cudaStream_t stream);\r
\r
void bgr_to_rgb(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgr_to_rgb_8u, 0, bgr_to_rgb_16u, 0, 0, bgr_to_rgb_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void bgr_to_bgra(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgr_to_bgra_8u, 0, bgr_to_bgra_16u, 0, 0, bgr_to_bgra_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void bgr_to_rgba(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgr_to_rgba_8u, 0, bgr_to_rgba_16u, 0, 0, bgr_to_rgba_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void bgra_to_bgr(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgra_to_bgr_8u, 0, bgra_to_bgr_16u, 0, 0, bgra_to_bgr_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void bgra_to_rgb(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgra_to_rgb_8u, 0, bgra_to_rgb_16u, 0, 0, bgra_to_rgb_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void bgra_to_rgba(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgra_to_rgba_8u, 0, bgra_to_rgba_16u, 0, 0, bgra_to_rgba_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::bgr_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr_to_bgr565(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::bgr_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void rgb_to_bgr555(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::rgb_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
+ device::rgb_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void rgb_to_bgr565(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::rgb_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
+ device::rgb_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgra_to_bgr555(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::bgra_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgra_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgra_to_bgr565(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::bgra_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgra_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void rgba_to_bgr555(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::rgba_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
+ device::rgba_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void rgba_to_bgr565(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::rgba_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
+ device::rgba_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr555_to_rgb(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC3); \r
\r
- color::bgr555_to_rgb(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr555_to_rgb(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr565_to_rgb(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC3); \r
\r
- color::bgr565_to_rgb(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr565_to_rgb(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr555_to_bgr(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC3); \r
\r
- color::bgr555_to_bgr(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr555_to_bgr(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr565_to_bgr(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC3); \r
\r
- color::bgr565_to_bgr(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr565_to_bgr(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr555_to_rgba(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC4); \r
\r
- color::bgr555_to_rgba(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr555_to_rgba(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr565_to_rgba(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC4); \r
\r
- color::bgr565_to_rgba(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr565_to_rgba(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr555_to_bgra(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC4); \r
\r
- color::bgr555_to_bgra(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr555_to_bgra(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr565_to_bgra(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC4); \r
\r
- color::bgr565_to_bgra(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr565_to_bgra(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void gray_to_bgr(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {gray_to_bgr_8u, 0, gray_to_bgr_16u, 0, 0, gray_to_bgr_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void gray_to_bgra(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {gray_to_bgra_8u, 0, gray_to_bgra_16u, 0, 0, gray_to_bgra_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::gray_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
+ device::gray_to_bgr555(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void gray_to_bgr565(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC2); \r
\r
- color::gray_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
+ device::gray_to_bgr565(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr555_to_gray(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC1); \r
\r
- color::bgr555_to_gray(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr555_to_gray(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void bgr565_to_gray(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
\r
dst.create(src.size(), CV_8UC1); \r
\r
- color::bgr565_to_gray(src, dst, StreamAccessor::getStream(stream));\r
+ device::bgr565_to_gray(src, dst, StreamAccessor::getStream(stream));\r
}\r
\r
void rgb_to_gray(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {rgb_to_gray_8u, 0, rgb_to_gray_16u, 0, 0, rgb_to_gray_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void bgr_to_gray(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgr_to_gray_8u, 0, bgr_to_gray_16u, 0, 0, bgr_to_gray_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void rgba_to_gray(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {rgba_to_gray_8u, 0, rgba_to_gray_16u, 0, 0, rgba_to_gray_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void bgra_to_gray(const GpuMat& src, GpuMat& dst, int, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[] = {bgra_to_gray_8u, 0, bgra_to_gray_16u, 0, 0, bgra_to_gray_32f};\r
\r
CV_Assert(src.depth() == CV_8U || src.depth() == CV_16U || src.depth() == CV_32F);\r
\r
void rgb_to_yuv(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void bgr_to_yuv(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void yuv_to_rgb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void yuv_to_bgr(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void rgb_to_YCrCb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void bgr_to_YCrCb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void YCrCb_to_rgb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void YCrCb_to_bgr(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void rgb_to_xyz(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void bgr_to_xyz(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void xyz_to_rgb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void xyz_to_bgr(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void rgb_to_hsv(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void bgr_to_hsv(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hsv_to_rgb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hsv_to_bgr(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void rgb_to_hls(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void bgr_to_hls(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hls_to_rgb(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hls_to_bgr(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void rgb_to_hsv_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void bgr_to_hsv_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hsv_to_rgb_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hsv_to_bgr_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void rgb_to_hls_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void bgr_to_hls_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hls_to_rgb_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
\r
void hls_to_bgr_full(const GpuMat& src, GpuMat& dst, int dcn, Stream& stream)\r
{\r
- using namespace cv::gpu::color;\r
+ using namespace cv::gpu::device;\r
static const gpu_func_t funcs[2][2][6] = \r
{\r
{\r
rgb_to_hls, // CV_RGB2HLS =53\r
\r
hsv_to_bgr, // CV_HSV2BGR =54\r
- bgr_to_rgb, // CV_HSV2RGB =55\r
+ hsv_to_rgb, // CV_HSV2RGB =55\r
\r
0, // CV_Lab2BGR =56\r
0, // CV_Lab2RGB =57\r
EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
}\r
\r
+TEST_P(CvtColor, BGR2BGRA)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src = img;\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR2BGRA);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2BGRA);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
TEST_P(CvtColor, BGRA2RGB)\r
{\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
cv::Mat src;\r
- cv::cvtColor(img, src, CV_BGR2BGRA);\r
+ cv::cvtColor(img, src, CV_BGR2BGRA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGRA2RGB);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGRA2RGB);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGRA2BGR)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGRA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGRA2BGR);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGRA2BGR);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGRA2RGBA)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGRA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGRA2RGBA);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGRA2RGBA);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR2GRAY)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src = img;\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR2GRAY);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2GRAY);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, RGB2GRAY)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_RGB2GRAY);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2GRAY);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, GRAY2BGR)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2GRAY);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_GRAY2BGR);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_GRAY2BGR);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, GRAY2BGRA)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2GRAY);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_GRAY2BGRA, 4);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_GRAY2BGRA, 4);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGRA2GRAY)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGRA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGRA2GRAY);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGRA2GRAY);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, RGBA2GRAY)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGBA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_RGBA2GRAY);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGBA2GRAY);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, BGR2BGR565)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src = img;\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR2BGR565);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2BGR565);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, RGB2BGR565)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_RGB2BGR565);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2BGR565);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5652BGR)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR565);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5652BGR);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5652BGR);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5652RGB)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR565);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5652RGB);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5652RGB);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGRA2BGR565)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGRA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGRA2BGR565);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGRA2BGR565);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, RGBA2BGR565)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGBA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_RGBA2BGR565);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGBA2BGR565);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5652BGRA)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR565);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5652BGRA, 4);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5652BGRA, 4);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5652RGBA)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR565);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5652RGBA, 4);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5652RGBA, 4);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, GRAY2BGR565)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2GRAY);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_GRAY2BGR565);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_GRAY2BGR565);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5652GRAY)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR565);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5652GRAY);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5652GRAY);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR2BGR555)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src = img;\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR2BGR555);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2BGR555);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, RGB2BGR555)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_RGB2BGR555);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2BGR555);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5552BGR)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR555);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5552BGR);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5552BGR);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5552RGB)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR555);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5552RGB);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5552RGB);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGRA2BGR555)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGRA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGRA2BGR555);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGRA2BGR555);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, RGBA2BGR555)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGBA);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_RGBA2BGR555);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGBA2BGR555);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5552BGRA)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR555);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5552BGRA, 4);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5552BGRA, 4);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5552RGBA)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR555);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5552RGBA, 4);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5552RGBA, 4);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, GRAY2BGR555)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2GRAY);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_GRAY2BGR555);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_GRAY2BGR555);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR5552GRAY)\r
+{\r
+ if (type != CV_8U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2BGR555);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR5552GRAY);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR5552GRAY);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+}\r
+\r
+TEST_P(CvtColor, BGR2XYZ)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src = img;\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR2XYZ);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2XYZ);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, RGB2XYZ)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR2XYZ);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2XYZ);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, XYZ2BGR)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2XYZ);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_XYZ2BGR);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_XYZ2BGR);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, XYZ2RGB)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2XYZ);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_XYZ2RGB);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_XYZ2RGB);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, BGR2YCrCb)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src = img;\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_BGR2YCrCb);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2YCrCb);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, RGB2YCrCb)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGRA2RGB);\r
+ cv::cvtColor(src, dst_gold, CV_RGB2YCrCb);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGRA2RGB);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2YCrCb);\r
\r
gpuRes.download(dst);\r
);\r
\r
- EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
}\r
\r
-TEST_P(CvtColor, BGR2YCrCb)\r
+TEST_P(CvtColor, YCrCb2BGR)\r
{\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
- cv::Mat src = img;\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2YCrCb);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGR2YCrCb);\r
+ cv::cvtColor(src, dst_gold, CV_YCrCb2BGR);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2YCrCb);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_YCrCb2BGR);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
}\r
\r
-TEST_P(CvtColor, BGR2YUV)\r
+TEST_P(CvtColor, BGR2HSV)\r
{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
cv::Mat src = img;\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGR2YUV);\r
+ cv::cvtColor(src, dst_gold, CV_BGR2HSV);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2YUV);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2HSV);\r
\r
gpuRes.download(dst);\r
);\r
\r
- EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, YUV2BGR)\r
+TEST_P(CvtColor, RGB2HSV)\r
{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
cv::Mat src;\r
- cv::cvtColor(img, src, CV_BGR2YUV);\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_YUV2BGR);\r
+ cv::cvtColor(src, dst_gold, CV_RGB2HSV);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_YUV2BGR);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2HSV);\r
\r
gpuRes.download(dst);\r
);\r
\r
- EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, BGR2XYZ)\r
+TEST_P(CvtColor, BGR2HLS)\r
{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
cv::Mat src = img;\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGR2XYZ);\r
+ cv::cvtColor(src, dst_gold, CV_BGR2HLS);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2XYZ);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2HLS);\r
\r
gpuRes.download(dst);\r
);\r
\r
- EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, XYZ2BGR)\r
+TEST_P(CvtColor, RGB2HLS)\r
{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
cv::Mat src;\r
- cv::cvtColor(img, src, CV_BGR2XYZ);\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_XYZ2BGR);\r
+ cv::cvtColor(src, dst_gold, CV_RGB2HLS);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_XYZ2BGR);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2HLS);\r
\r
gpuRes.download(dst);\r
);\r
\r
- EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, BGR2HSV)\r
+TEST_P(CvtColor, HSV2BGR)\r
{\r
if (type == CV_16U)\r
return;\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
- cv::Mat src = img;\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2HSV);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGR2HSV);\r
+ cv::cvtColor(src, dst_gold, CV_HSV2BGR);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2HSV);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HSV2BGR);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, HSV2BGR)\r
+TEST_P(CvtColor, HSV2RGB)\r
{\r
if (type == CV_16U)\r
return;\r
cv::Mat src;\r
cv::cvtColor(img, src, CV_BGR2HSV);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_HSV2BGR);\r
+ cv::cvtColor(src, dst_gold, CV_HSV2RGB);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HSV2BGR);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HSV2RGB);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, BGR2HSV_FULL)\r
+TEST_P(CvtColor, HLS2BGR)\r
{\r
if (type == CV_16U)\r
return;\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
- cv::Mat src = img;\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2HLS);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGR2HSV_FULL);\r
+ cv::cvtColor(src, dst_gold, CV_HLS2BGR);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2HSV_FULL);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HLS2BGR);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, HSV2BGR_FULL)\r
+TEST_P(CvtColor, HLS2RGB)\r
{\r
if (type == CV_16U)\r
return;\r
PRINT_TYPE(type);\r
\r
cv::Mat src;\r
- cv::cvtColor(img, src, CV_BGR2HSV_FULL);\r
+ cv::cvtColor(img, src, CV_BGR2HLS);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_HSV2BGR_FULL);\r
+ cv::cvtColor(src, dst_gold, CV_HLS2RGB);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HSV2BGR_FULL);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HLS2RGB);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, BGR2HLS)\r
+TEST_P(CvtColor, BGR2HSV_FULL)\r
{\r
if (type == CV_16U)\r
return;\r
\r
cv::Mat src = img;\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGR2HLS);\r
+ cv::cvtColor(src, dst_gold, CV_BGR2HSV_FULL);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2HLS);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2HSV_FULL);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, HLS2BGR)\r
+TEST_P(CvtColor, RGB2HSV_FULL)\r
{\r
if (type == CV_16U)\r
return;\r
PRINT_TYPE(type);\r
\r
cv::Mat src;\r
- cv::cvtColor(img, src, CV_BGR2HLS);\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_HLS2BGR);\r
+ cv::cvtColor(src, dst_gold, CV_RGB2HSV_FULL);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HLS2BGR);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2HSV_FULL);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
+TEST_P(CvtColor, RGB2HLS_FULL)\r
+{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_RGB2HLS_FULL);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2HLS_FULL);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
+}\r
+\r
+TEST_P(CvtColor, HSV2BGR_FULL)\r
+{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2HSV_FULL);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_HSV2BGR_FULL);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HSV2BGR_FULL);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
+}\r
+\r
+TEST_P(CvtColor, HSV2RGB_FULL)\r
+{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2HSV_FULL);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_HSV2RGB_FULL);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HSV2RGB_FULL);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
+}\r
+\r
TEST_P(CvtColor, HLS2BGR_FULL)\r
{\r
if (type == CV_16U)\r
EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
}\r
\r
-TEST_P(CvtColor, BGR2GRAY)\r
+TEST_P(CvtColor, HLS2RGB_FULL)\r
+{\r
+ if (type == CV_16U)\r
+ return;\r
+\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2HLS_FULL);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_HLS2RGB_FULL);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_HLS2RGB_FULL);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, type == CV_32F ? 1e-2 : 1);\r
+}\r
+\r
+TEST_P(CvtColor, BGR2YUV)\r
{\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
cv::Mat src = img;\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_BGR2GRAY);\r
+ cv::cvtColor(src, dst_gold, CV_BGR2YUV);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2GRAY);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_BGR2YUV);\r
\r
gpuRes.download(dst);\r
);\r
EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
}\r
\r
-TEST_P(CvtColor, GRAY2RGB)\r
+TEST_P(CvtColor, RGB2YUV)\r
{\r
PRINT_PARAM(devInfo);\r
PRINT_TYPE(type);\r
\r
cv::Mat src;\r
- cv::cvtColor(img, src, CV_BGR2GRAY);\r
+ cv::cvtColor(img, src, CV_BGR2RGB);\r
cv::Mat dst_gold;\r
- cv::cvtColor(src, dst_gold, CV_GRAY2RGB);\r
+ cv::cvtColor(src, dst_gold, CV_RGB2YUV);\r
\r
cv::Mat dst;\r
\r
ASSERT_NO_THROW(\r
cv::gpu::GpuMat gpuRes;\r
\r
- cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_GRAY2RGB);\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_RGB2YUV);\r
\r
gpuRes.download(dst);\r
);\r
\r
- EXPECT_MAT_NEAR(dst_gold, dst, 0.0);\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, YUV2BGR)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_BGR2YUV);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_YUV2BGR);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_YUV2BGR);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
+}\r
+\r
+TEST_P(CvtColor, YUV2RGB)\r
+{\r
+ PRINT_PARAM(devInfo);\r
+ PRINT_TYPE(type);\r
+\r
+ cv::Mat src;\r
+ cv::cvtColor(img, src, CV_RGB2YUV);\r
+ cv::Mat dst_gold;\r
+ cv::cvtColor(src, dst_gold, CV_YUV2RGB);\r
+\r
+ cv::Mat dst;\r
+\r
+ ASSERT_NO_THROW(\r
+ cv::gpu::GpuMat gpuRes;\r
+\r
+ cv::gpu::cvtColor(cv::gpu::GpuMat(src), gpuRes, CV_YUV2RGB);\r
+\r
+ gpuRes.download(dst);\r
+ );\r
+\r
+ EXPECT_MAT_NEAR(dst_gold, dst, 1e-5);\r
}\r
\r
INSTANTIATE_TEST_CASE_P(ImgProc, CvtColor, testing::Combine(\r