PCL可视化工具addPointCloud()崩溃

时间:2017-04-03 07:28:05

标签: qt visualization printer-control-language

我正在尝试使用QT创建一个简单的应用程序来显示点云。但是,PCL可视化工具在

处崩溃
pviz.addPointCloud<pcl::PointXYZ>(cloud_xyz,"cloud1");

是否有我缺少的初始化?

#include <QApplication>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/visualization/pcl_visualizer.h>

#include <iostream>

#include <thread>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    pcl::visualization::PCLVisualizer pviz ("test_viz");
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_xyz (new pcl::PointCloud<pcl::PointXYZ>);
    for (float y = -0.5f; y <= 0.5f; y += 0.01f)
    {
        for (float z = -0.5f; z <= 0.5f; z += 0.01f)
        {
            pcl::PointXYZ point;
            point.x = 2.0f - y;
            point.y = y;
            point.z = z;
            cloud_xyz->points.push_back (point);
        }
    }
    cloud_xyz->width = cloud_xyz->points.size ();
    cloud_xyz->height = 1;
    std::cerr<<"Cloud Gen";
    pviz.addPointCloud<pcl::PointXYZ>(cloud_xyz,"cloud1");
     std::cerr<<"Cloud Add";
    pviz.setBackgroundColor(0, 0, 0.1);
    pviz.initCameraParameters();
    return a.exec();
}

这只是一个演示程序,因此我只是想添加点云,我没有将它保存在循环或单独的线程中。

0 个答案:

没有答案