diff --git a/modules/core/include/opencv2/core/cuda.hpp b/modules/core/include/opencv2/core/cuda.hpp index 0f7bf01c7329818a408ee8a469beaf70cb9783ef..295f3de85ec0811ee48f8cb53d7524bcc64cc072 100644 --- a/modules/core/include/opencv2/core/cuda.hpp +++ b/modules/core/include/opencv2/core/cuda.hpp @@ -855,7 +855,14 @@ private: CV_EXPORTS void printCudaDeviceInfo(int device); CV_EXPORTS void printShortCudaDeviceInfo(int device); -CV_EXPORTS void convertFp16Cuda(InputArray _src, OutputArray _dst, Stream& stream = Stream::Null()); +/** @brief Converts an array to half precision floating number. + +@param _src input array. +@param _dst output array. +@param stream Stream for the asynchronous version. +@sa convertFp16 +*/ +CV_EXPORTS void convertFp16(InputArray _src, OutputArray _dst, Stream& stream = Stream::Null()); //! @} cudacore_init diff --git a/modules/core/src/cuda/gpu_mat.cu b/modules/core/src/cuda/gpu_mat.cu index a772e43abc05fcce65d9149d693a6a255c2e391f..987de9e7c5440528f054b2af86d9af2c6de4cbc1 100644 --- a/modules/core/src/cuda/gpu_mat.cu +++ b/modules/core/src/cuda/gpu_mat.cu @@ -594,7 +594,7 @@ void cv::cuda::GpuMat::convertTo(OutputArray _dst, int rtype, double alpha, doub funcs[sdepth][ddepth](reshape(1), dst.reshape(1), alpha, beta, stream); } -void cv::cuda::convertFp16Cuda(InputArray _src, OutputArray _dst, Stream& stream) +void cv::cuda::convertFp16(InputArray _src, OutputArray _dst, Stream& stream) { GpuMat src = _src.getGpuMat(); int ddepth = 0; diff --git a/modules/cudev/test/test_cvt.cu b/modules/cudev/test/test_cvt.cu index 4e11b6319cfb939dc951286aed20c60c4cc823ea..c6595259715b62a9b0eb37187eac4c335a0ec63f 100644 --- a/modules/cudev/test/test_cvt.cu +++ b/modules/cudev/test/test_cvt.cu @@ -101,11 +101,11 @@ public: GpuMat g_dst; // Fp32 -> Fp16 - convertFp16Cuda(g_src, g_dst); - convertFp16Cuda(g_dst.clone(), g_dst); + cuda::convertFp16(g_src, g_dst); + cv::convertFp16(src, dst); // Fp16 -> Fp32 - convertFp16(src, dst); - convertFp16(dst, ref); + cuda::convertFp16(g_dst.clone(), g_dst); + cv::convertFp16(dst, ref); g_dst.download(dst); EXPECT_MAT_NEAR(dst, ref, 0.0); @@ -127,8 +127,8 @@ public: GpuMat g_dst; // Fp32 -> Fp16 - convertFp16Cuda(g_src, g_dst); - convertFp16(src, ref); + cuda::convertFp16(g_src, g_dst); + cv::convertFp16(src, ref); g_dst.download(dst); EXPECT_MAT_NEAR(dst, ref, 0.0);