diff --git a/modules/gpu/src/opencv2/gpu/device/detail/color_detail.hpp b/modules/gpu/src/opencv2/gpu/device/detail/color_detail.hpp index 2b2115e1c0..ff82a46c60 100644 --- a/modules/gpu/src/opencv2/gpu/device/detail/color_detail.hpp +++ b/modules/gpu/src/opencv2/gpu/device/detail/color_detail.hpp @@ -780,6 +780,8 @@ namespace cv { namespace gpu { namespace device return dst; } + __device__ __forceinline__ RGB2XYZ():unary_function::vec_type, typename TypeVec::vec_type>(){} + __device__ __forceinline__ RGB2XYZ(const RGB2XYZ& other_):unary_function::vec_type, typename TypeVec::vec_type>(){} }; template struct RGB2XYZ : unary_function { @@ -787,6 +789,8 @@ namespace cv { namespace gpu { namespace device { return RGB2XYZConvert(src); } + __device__ __forceinline__ RGB2XYZ():unary_function(){} + __device__ __forceinline__ RGB2XYZ(const RGB2XYZ& other_):unary_function(){} }; } @@ -847,13 +851,18 @@ namespace cv { namespace gpu { namespace device return dst; } + __device__ __forceinline__ XYZ2RGB():unary_function::vec_type, typename TypeVec::vec_type>(){} + __device__ __forceinline__ XYZ2RGB(const XYZ2RGB& other_):unary_function::vec_type, typename TypeVec::vec_type>(){} }; + template struct XYZ2RGB : unary_function { __device__ __forceinline__ uint operator()(uint src) const { return XYZ2RGBConvert(src); } + __device__ __forceinline__ XYZ2RGB() : unary_function(){} + __device__ __forceinline__ XYZ2RGB(const XYZ2RGB& other_) : unary_function(){} }; } @@ -977,13 +986,18 @@ namespace cv { namespace gpu { namespace device return dst; } + __device__ __forceinline__ RGB2HSV():unary_function::vec_type, typename TypeVec::vec_type>(){} + __device__ __forceinline__ RGB2HSV(const RGB2HSV& other_):unary_function::vec_type, typename TypeVec::vec_type>(){} }; + template struct RGB2HSV : unary_function { __device__ __forceinline__ uint operator()(uint src) const { return RGB2HSVConvert(src); } + __device__ __forceinline__ RGB2HSV():unary_function(){} + __device__ __forceinline__ RGB2HSV(const RGB2HSV& other_):unary_function(){} }; } @@ -1103,13 +1117,18 @@ namespace cv { namespace gpu { namespace device return dst; } + __device__ __forceinline__ HSV2RGB():unary_function::vec_type, typename TypeVec::vec_type>(){} + __device__ __forceinline__ HSV2RGB(const HSV2RGB& other_):unary_function::vec_type, typename TypeVec::vec_type>(){} }; + template struct HSV2RGB : unary_function { __device__ __forceinline__ uint operator()(uint src) const { return HSV2RGBConvert(src); } + __device__ __forceinline__ HSV2RGB():unary_function(){} + __device__ __forceinline__ HSV2RGB(const HSV2RGB& other_):unary_function(){} }; } @@ -1228,13 +1247,18 @@ namespace cv { namespace gpu { namespace device return dst; } + __device__ __forceinline__ RGB2HLS():unary_function::vec_type, typename TypeVec::vec_type>(){} + __device__ __forceinline__ RGB2HLS(const RGB2HLS& other_):unary_function::vec_type, typename TypeVec::vec_type>(){} }; + template struct RGB2HLS : unary_function { __device__ __forceinline__ uint operator()(uint src) const { return RGB2HLSConvert(src); } + __device__ __forceinline__ RGB2HLS():unary_function(){} + __device__ __forceinline__ RGB2HLS(const RGB2HLS& other_):unary_function(){} }; } @@ -1360,14 +1384,18 @@ namespace cv { namespace gpu { namespace device return dst; } + __device__ __forceinline__ HLS2RGB():unary_function::vec_type, typename TypeVec::vec_type>(){} + __device__ __forceinline__ HLS2RGB(const HLS2RGB& other_):unary_function::vec_type, typename TypeVec::vec_type>(){} }; + template struct HLS2RGB : unary_function { __device__ __forceinline__ uint operator()(uint src) const { return HLS2RGBConvert(src); } - + __device__ __forceinline__ HLS2RGB():unary_function(){} + __device__ __forceinline__ HLS2RGB(const HLS2RGB& other_):unary_function(){} }; }