Конвертация формата Android 10-bit raw в cv::Mat

Есть формат RAW10. Необходимо его конвертировать в cv::Mat чтобы в дальнейшем сохранять на диск в контейнер png/jpeg.

Пытаюсь сделать так:

void SaveToDisk(unsigned char * buffer, unsigned int width, unsigned int height) {
        cv::Mat img;
        cv::Mat raw(height, width, CV_8UC1, buffer);
        raw.convertTo(img, CV_32FC1, 255.0); // -> не выходит

        //cv::cvtColor(raw, raw, cv::COLOR_GRAY2RGB); -> так тоже не выходит
        cv::imwrite("myimage.png", img);
}

На выходе получаю серый квадрат.

Еще есть данные о фрейме: unsigned int size и unsigned int stride

UPD:

Цель не сохранять в заданный контейнер. В контейнер сохраняю, чтобы убедиться в корректности конвертации


Ответы (0 шт):