Из API OpenCV 2.2 :
Функция imwrite сохраняет изображение в указанный файл. Формат изображения выбирается на основе расширения имени файла, см. Imread для списка расширений. С помощью этой функции можно сохранить только 8-битные (или 16-разрядные в случае PNG, JPEG 2000 и TIFF) одноканальные или трехканальные (с порядком канала BGR). Если формат, глубина или порядок каналов различны, используйте Mat :: convertTo и cvtColor для его преобразования перед сохранением или используйте универсальные функции ввода / вывода XML для сохранения изображения в формате XML или YAML.
blockquote>У вас может быть больше удачи преобразовать файл в 8 или 16 бит до сохранения.
Однако даже с одноканальными 8-битными файлами у меня были неизвестные ошибки расширения, пытающиеся сохранить файлы jpg или png но обнаружил, что bmp работает.