Страница 1 из 1

GDAL with OpenCV

Добавлено: 28 июл 2015, 14:56
Pepslee
Помогите разобраться, как данные GDAL записать в матрицу OpenCV.

Имеется изображения TIFF 16 bit, нужно открыть его с помощью GDAL и потом записать в OpenCV.

стандартные функции типа
Mat image = imread("/home/user/mozgovoy/16bit_t.tif", cv::IMREAD_LOAD_GDAL | cv::IMREAD_ANYDEPTH );

не работают, ( работают только для 8 бит).
Всё что нашёл в интернете, это для 8 битных изображений.

работаю на С/С++, может кто делал подобное ?

Re: GDAL with OpenCV

Добавлено: 29 июл 2015, 20:41
Дмитрий Барышников
А как вы обычно помещаете 16бит данные в opencv? Например из массива? Нужен пример кода.

[ Сообщение с мобильного устройства ]

Re: GDAL with OpenCV

Добавлено: 30 июл 2015, 09:12
gamm
Pepslee писал(а):Помогите разобраться, как данные GDAL записать в матрицу OpenCV.
а в чем проблема написать несколько строк самому? У Mat() есть конструктор, который просто отображает матрицу на готовый массив значений. Читаете изображение с помощью GDAL в память, и отображаете на нее Mat(). Ниже пример отображения на матрицу float, укладка по строкам.

Код: Выделить всё

float *src_buf;
...
читаем канал снимка формата float в src_buf
cv::Mat band_mat(ny,nx,CV_32FC1,src_buf);

Re: GDAL with OpenCV

Добавлено: 04 авг 2015, 11:20
Pepslee
Спасибо, я уже разобрался, с OpenCV проблем не было, было проблема с GDAL, я не знал как считать в буфер матрицу