我有一系列
CameraSpacePoint
,我用C#编程语言将其转换为字节。这个
CameraSpacePoint
定义如下:
namespace Microsoft.Kinect
{
public struct CameraSpacePoint
{
public float X;
public float Y;
public float Z;
}
}
转换的数组
摄像机空间点
在C中,我使用了以下方法:
public static byte[] ObjectToByteArray(Object obj)
{
BinaryFormatter bf = new BinaryFormatter();
using (var ms = new MemoryStream())
{
bf.Serialize(ms, obj);
return ms.ToArray();
}
}
然后使用TCP传输字节数组。我试图以以下方式在另一台机器上接收此字节数组:
#include <ros/ros.h>
#include <boost/asio.hpp>
constexpr size_t data_size = 512 * 424;
unsigned char data_buffer[data_size];
boost::asio::read(socket, boost::asio::buffer(data_buffer, data_size));
我在C++中声明了一个类似的类,如下所示:
class CameraSpacePoint
{
public:
float X;
float Y;
float Z;
};
我想知道如何将反向字节数组转换为我定义的
摄像机空间点