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();
}
Это просто демонстрационная программа, поэтому я просто хочу добавить облако точек, и я не держал его в цикле или отдельном потоке.