PCL визуализатор addPointCloud() падает

Я пытаюсь создать простое приложение, использующее 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 ответов

Другие вопросы по тегам