打印激光相机采集到的数据

研究生了但是之前对VS的相关了解只有创建简单的项目和对话窗,项目需要写MFC并添加算法,有一个问题:

激光相机的点云数据,采集之后想要将其打印用作标定厚度(实际是通过两个激光相机的3d返回值确定钢板的厚度值)。
源程序

cx::DeviceBuffer buffer = cam->waitForBuffer(10000);//采集数据到内存空间
auto rangeImg = buffer.getImage();
// optionally save range image to file
if (argc > 2)
    rangeImg->save(argv[2]);
cx::c3d::PointCloud pc(rangeImg->height(), rangeImg->width(), CX_PF_COORD3D_ABC32f, cx::Point3f(1.0f, 1.0f, 1.0f), cx::Point3f(0.0f, 0.0f, 0.0f));//CX_PF_COORD3D_ABC32f 表示坐标像素(如果是笛卡尔坐标系XYZ元组),每个相应值32位浮点

其中pc的类型PointCloud定义为

class PointCloud
            {
            public:
                typedef std::shared_ptr<PointCloud> Ptr;

                PointCloud() : points(), normals(), colors(), scale(1.0f, 1.0f, 1.0f), offset(0.0f, 0.0f, 0.0f) {}
                PointCloud(unsigned int h, unsigned int w, unsigned int pf = CX_PF_COORD3D_ABC32f, const cx::Point3f s = cx::Point3f(1.0f, 1.0f, 1.0f), const cx::Point3f o = cx::Point3f(0.0f, 0.0f, 0.0f)) : points(h, w, pf), normals(), colors(), scale(s), offset(o) {}
                ~PointCloud() {}

                bool hasPoints() const {
                    return points.size() > 0;
                }

                bool hasNormals() const {
                    return points.size() > 0 && normals.size() == points.size();
                }

                bool hasColors() const {
                    return points.size() > 0 && colors.size() == points.size();
                }


有一个疑惑,就是想知道怎样可以将我采集到的三维数据从pc处打印或者读取出来;亦或者从内存空间直接读取出来,因为后续的标定需要依据数据进行,但是我现在都不知道我的数据内容是什么。

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。