在多播网络中发送和接收OpenCV Mat对象

时间:2019-03-07 08:50:50

标签: c++ opencv serialization deserialization multicast

我有一个用例,可以将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库,因为它已在多个地方使用)

0 个答案:

没有答案
相关问题