The classes Mat, UMat and cuda::GpuMat all have a convertTo(…) function with the same functionality.
From my point of view, for reasons of symmetry and for a smart handling of images in different representations (Mat, UMat and cuda::GpuMat) the function
void _InputArray::convertTo(OutputArray dst, int rtype, double gain = 1., double offset = 0.) const;
would be useful.
void cv::convertTo(InputArray src, OutputArray dst, int rtype, double gain = 1., double offset = 0.);
would also do the trick to handle the different image representations with just one function signature.
In fact for the quite similar case of copyTo(…) both functions exist.
What is the reason for this asymmetry? And where is a good place to address this suggestion?