Конвертация формата 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:
Цель не сохранять в заданный контейнер. В контейнер сохраняю, чтобы убедиться в корректности конвертации