al072 1 Жалоба Опубликовано February 7, 2016 Добрый день господа! Помогите плиз. Дело в том что в стандартной библиотеке для ip камеры есть функция которая получает изображение в формате char** вот эта функция: GetVideo(handle, (char**)&Frame, &Len,fmt,&Speed); Мне необходимо сконвертировать изображение в cv::Mat, сделать обработку, и затем сконвертировать обратно в char**. Как это правильно сделать? Пробую вот так: cameraFrame = cv::Mat(h, w, CV_8UC1, *Frame->data); Но при выводе imshow("namewindow",cameraFrame); выводиться черный квадрат.. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано February 7, 2016 Откуда форумчане могут знать что там у вас за данные идут с камеры, но раз у вас все таки ip камера и сомнительно что она чб то наверное стоит использовать CV_8UC3 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 8, 2016 Надо узнать какой формат передаваемых данных BGR, RGB, RGBA или какой то другой или может быть там не так упаковано как ожидает OpenCV. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 8, 2016 Ну черный квадрат все равно маловероятно получить при правильно работающей камере. В крайнем случае был бы какой-нибудь шум. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
al072 1 Жалоба Опубликовано February 8, 2016 Всем спасибо за коментарии. С камеры в (char**)&Frame изображение передается в формате YUYV422. Структура Frame включает в себя массив char data[0], в него собственно и записываются пиксели изображения. Подскажите пожалуйста как сделать следующую конвертацию: char data[0] (формат YUYV422) -> cv::Mat (формат BGR/BGRA) -> char data[0] (формат YUYV422) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
al072 1 Жалоба Опубликовано February 8, 2016 Пробую вот таким образом добавить изображение в Mat cv::Mat cameraFrame = cv::Mat(h, w, CV_8UC3, Frame->data); Как теперь сделать конвертацию? Из YUYV422 в BGR/BGRA? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах