OpenCV сохраняет изображения CV_32FC1

Программа, которую я использую, читает некоторые растровые изображения и ожидает изображения 32FC1.

Я пытаюсь создать эти изображения

cv::Mat M1(255, 255, CV_32FC1, cv::Scalar(0,0,0));
cv::imwrite( "my_bitmap.bmp", M1 );

но когда я проверяю глубину - это всегда CV_8U

Как я могу создать файлы, чтобы они содержали правильную информацию?

Обновить: Нет разницы, если я использую другое расширение файла - например, TIF или PNG

Я читаю это - используя код, который уже реализован - сcvLoadImage.

Я пытаюсь СОЗДАТЬ файлы, которые может использовать существующий код, который проверяет тип изображения.

Я не могу конвертировать файлы в существующий код. Существующий код не пытается прочитать случайный тип изображения и преобразовать его в нужный тип, но проверяет, соответствуют ли файлы нужному типу.

Я узнал - спасибо за ответы - что cv :: imwrite пишет только изображения целого типа.

Есть ли другой способ - либо с помощью OpenCV, либо как-то еще - написать изображения, чтобы я в итоге получил тип CV_32F?

Обновите снова: Код для чтения изображения ... если в cv :: Mat:

cv::Mat x = cv::imread(x_files, CV_LOAD_IMAGE_ANYDEPTH|CV_LOAD_IMAGE_ANYCOLOR);

Существующий код:

IplImage *I = cvLoadImage(x_files.c_str(), CV_LOAD_IMAGE_ANYDEPTH|CV_LOAD_IMAGE_ANYCOLOR);

Ответы на вопрос(2)

Ваш ответ на вопрос