簡體   English   中英

在 c++ 中通過 tcp 發送 pcl 點雲

[英]send pcl point cloud over tcp in c++

我是 c++ 數據序列化的新手,我搜索了示例,但並沒有真正成功。 我的目標是能夠在 c++ 中的 tcp 上發送和接收 pcl 點雲。 我對ROS很熟悉,但現在我不能在服務器上使用它。 我必須通過以太網將點雲發送到客戶端機器,在那里我可以自由使用 ROS。

我嘗試了 Python,ZeroMQ 配置為在 numpy 陣列中發送點雲。 該消息包含帶有數組形狀的 json markdown,然后另一條消息包含該數組。 如果我是正確的,在 c++ 我應該序列化我的pcl::PointCloud<pcl::PointXYZ> cloud object 以便能夠以某種方式發送它。 在 c++ 的情況下,我找不到將數組形狀發送為 markdown 的可能性。 在 c++ 中是否可以像在 zmq 中一樣發送此object? 或者有沒有更方便的方法來解決這個問題?

更新:在 cpp 中,我從相機讀取點雲到pcl::PointCloud<pcl::PointXYZ> object。 我的目標是通過 tcp以某種方式發送這些數據,並能夠最好在 cpp 中重建為類似的點雲 object。

C++ 不提供序列化和反序列化數據的標准方法。

對於簡單的情況,您可以自己實現。

對於更復雜的情況,您可以使用庫,例如協議緩沖區Boost 序列化

您還可以“在線”使用基於文本的格式,例如 XML 或 JSON。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM