Отправка и получение объекта OpenCV Mat в многоадресной сети - PullRequest
0 голосов
/ 07 марта 2019

У меня есть сценарий использования для отправки объекта OpenCV Mat нескольким получателям в многоадресной сети. Я использую библиотеку C ++ boost для отправки и получения данных многоадресной сети.

Мое понимание

Объект

Mat сериализуется в буфер boost и отправляется сетевым получателям. Получатели получают и десериализуют буфер для создания объекта Mat.

Реализация, которую я пробовал

Мой Mat объект для отправки - image.

const char * px = reinterpret_cast<const char*>(image.data);
socket_.async_send_to(
            boost::asio::buffer(px, sizeof(px)), endpoint_,
            [this](boost::system::error_code ec, std::size_t /*length*/) {
                if (!ec && message_count_ < max_message_count)
                    do_timeout();
            });

Вопрос 1

Как проверить, достигли ли полные данные получателя?

Вопрос 2

Как восстановить объект Mat на приемнике?

Вопрос 3

Есть ли лучший способ создать буфер изображений, который передает объекты OpenCV Mat в многоадресной сети? (Я ценю использование библиотеки boost, поскольку она используется в нескольких местах)

...