void Mat:: convertTo (Mat & m, int rtype, double alpha = 1, double beta = 0) const
rtype - желаемый тип матрицы назначения или, вернее, глубина (так как количество каналов будет одинаковым с исходным). Если rtype отрицательный, матрица адресата будет иметь тот же тип, что и источник.
Вы хотите создать матрицу для каждого из 3 каналов, которые вы хотите создать, а затем использовать функцию слияния. См. Ответы на этот вопрос
Ответ 3
Соглашение заключается в том, что для типа CV_8UC3 значения пикселей варьируются от 0 до 255, а для типа CV_32FC3 от 0.0 до 1.0. Таким образом, вам нужно использовать коэффициент масштабирования 255.0 вместо 1.0: