Ответ 1
Если вы имели в виду С++, то у вас есть
#include<opencv2/opencv.hpp>
using namespace cv;
Mat img;
img.create(2,2,CV_8UC1);
Mat img2;
img.convertTo(img2, CV_32FC1); // or CV_32F works (too)
подробности в opencv2refman.pdf.
UPDATE:
CV_32FC1 для одноканального (C1, то есть серого изображения) с плавающей точкой (32F) пикселей
CV_8UC1 предназначен для 1-канального (C1, то есть серого изображения) значений без знака char (8UC).