Перейти к содержимому
Compvision.ru
al072

Конвертация char** в cv::Mat и обратно

Recommended Posts

Добрый день господа! Помогите плиз. Дело в том что в стандартной библиотеке для ip камеры есть функция которая получает изображение в формате char**

вот эта функция:

GetVideo(handle, (char**)&Frame, &Len,fmt,&Speed);

Мне необходимо сконвертировать изображение в cv::Mat, сделать обработку, и затем сконвертировать обратно в char**. Как это правильно сделать?

Пробую вот так:

cameraFrame = cv::Mat(h, w, CV_8UC1, *Frame->data);

Но при выводе imshow("namewindow",cameraFrame); выводиться черный квадрат.. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Откуда форумчане могут знать что там у вас за данные идут с камеры, но раз у вас все таки ip камера и сомнительно что она чб то наверное стоит использовать  CV_8UC3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо узнать какой формат передаваемых данных BGR, RGB, RGBA или какой то другой или может быть там не так упаковано как ожидает OpenCV.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну черный квадрат все равно маловероятно получить при правильно работающей камере.

В крайнем случае был бы какой-нибудь шум.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем спасибо за коментарии. С камеры в (char**)&Frame изображение передается в формате YUYV422. Структура Frame включает в себя массив char data[0], в него собственно и записываются пиксели изображения.

Подскажите пожалуйста как сделать следующую конвертацию:

char data[0] (формат YUYV422) -> cv::Mat (формат BGR/BGRA) -> char data[0] (формат YUYV422)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пробую вот таким образом добавить изображение в Mat

cv::Mat cameraFrame = cv::Mat(h, w, CV_8UC3, Frame->data);

Как теперь сделать конвертацию? Из YUYV422 в BGR/BGRA?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×